java list根据另一个list排序

时间: 2023-07-21 09:25:45 浏览: 41
可以使用Java 8的Stream API和Comparator来实现这个功能。 假设有两个List,一个是存储排序后结果的List,一个是原始的List: ```java List<String> originalList = Arrays.asList("apple", "banana", "orange", "pear"); List<String> sortedList = new ArrayList<>(); List<String> sortByList = Arrays.asList("pear", "banana", "orange", "apple"); ``` 现在需要将原始List按照sortByList的元素顺序进行排序后,存储到sortedList中。代码如下: ```java sortedList = sortByList.stream() .filter(originalList::contains) .collect(Collectors.toList()); ``` 这段代码的思路是,使用Stream API对sortByList进行遍历,过滤掉原始List中没有的元素,然后将剩下的元素按照在sortByList中的顺序收集到sortedList中。 最终sortedList中的元素顺序将是:pear, banana, orange, apple。
相关问题

java list 根据另一个list优先级排序

你可以使用Java的Collections.sort()方法来根据另一个List的优先级对List进行排序。以下是一个示例代码: ```java import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class ListPrioritySortExample { public static void main(String[] args) { List<String> list1 = new ArrayList<>(); list1.add("A"); list1.add("B"); list1.add("C"); List<String> list2 = new ArrayList<>(); list2.add("C"); list2.add("A"); list2.add("B"); // 使用Comparator根据list2的优先级对list1进行排序 Collections.sort(list1, new Comparator<String>() { @Override public int compare(String o1, String o2) { int index1 = list2.indexOf(o1); int index2 = list2.indexOf(o2); return Integer.compare(index1, index2); } }); System.out.println("排序后的list1:" + list1); } } ``` 在上面的示例中,我们有两个List:list1和list2。我们使用Comparator接口的compare方法来比较list1中的元素在list2中的索引位置,并根据索引位置的优先级进行排序。最后,我们打印出排序后的list1。 运行上述代码,输出将是: ``` 排序后的list1:[C, A, B] ``` 这样,list1就按照list2的优先级进行了排序。你可以根据自己的需求修改比较逻辑和数据类型。希望能对你有所帮助!

java stream实现 list根据另一个list排序

使用Java 8中的Stream API,同样可以实现根据另一个List排序的功能。可以使用Stream的sorted()方法结合Comparator自定义排序规则来实现: ```java List<String> sortList = new ArrayList<>(); sortList.add("apple"); sortList.add("banana"); sortList.add("orange"); sortList.add("pear"); List<String> referenceList = new ArrayList<>(); referenceList.add("pear"); referenceList.add("apple"); referenceList.add("banana"); referenceList.add("orange"); List<String> sortedList = sortList.stream() .sorted(Comparator.comparingInt(referenceList::indexOf)) .collect(Collectors.toList()); System.out.println(sortedList); ``` 上述代码中,使用Stream的sorted()方法对需要排序的List进行排序,其中传入了一个自定义的Comparator对象,该对象的compare()方法中根据排序参照的List中元素的索引来比较需要排序的List中元素的大小关系,最终实现了按照参照List中元素的顺序进行排序的功能。最后通过collect()方法将排序后的元素重新收集到一个List中。

相关推荐

最新推荐

recommend-type

java实现把一个List集合拆分成多个的操作

主要介绍了java实现把一个List集合拆分成多个的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

JAVA JDK8 List分组获取第一个元素的方法

今天小编就为大家分享一篇关于JAVA JDK8 List分组获取第一个元素的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
recommend-type

java list集合排序按某一属性排序操作

主要介绍了java list集合排序按某一属性排序操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

Java List集合排序实现方法解析

主要介绍了Java List集合排序实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
recommend-type

Java Collections.sort()实现List排序的默认方法和自定义方法

主要介绍了Java Collections.sort()实现List排序的默认方法和自定义方法,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

可见光定位LED及其供电硬件具体型号,广角镜头和探测器,实验设计具体流程步骤,

1. 可见光定位LED型号:一般可使用5mm或3mm的普通白色LED,也可以选择专门用于定位的LED,例如OSRAM公司的SFH 4715AS或Vishay公司的VLMU3500-385-120。 2. 供电硬件型号:可以使用常见的直流电源供电,也可以选择专门的LED驱动器,例如Meanwell公司的ELG-75-C或ELG-150-C系列。 3. 广角镜头和探测器型号:一般可采用广角透镜和CMOS摄像头或光电二极管探测器,例如Omron公司的B5W-LA或Murata公司的IRS-B210ST01。 4. 实验设计流程步骤: 1)确定实验目的和研究对象,例如车辆或机器人的定位和导航。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。