21xrx.com
2024-11-05 20:42:53 Tuesday
登录
文章检索 我的文章 写文章
最近在我的Java开发工作中遇到了一个常见的问题:如何去重和排序一个List
2023-06-11 03:51:11 深夜i     --     --
Java开发 List去重 根据另一个字段排序

最近在我的Java开发工作中遇到了一个常见的问题:如何去重和排序一个List。我特别想分享我的经验,希望能帮助到其他Java开发者。以下是我使用的方法。

首先,我想要去重一个List,我使用了Set和Lambda表达式。这是我的代码:


List myList = Arrays.asList("A", "B", "C", "D", "A");

Set mySet = new HashSet<>();

myList.stream()

   .filter(e -> !mySet.contains(e))

   .forEach(e -> mySet.add(e));

上面的代码会把List里的重复元素去掉,只保留不同的元素。接下来,如果我想要根据另一个字段的大小来对List进行排序,我需要使用Comparator接口和Lambda表达式。这是我实现的代码:


List myList = Arrays.asList(

  new Person("Alice", 25),

  new Person("Bob", 20),

  new Person("Charlie", 30),

  new Person("David", 25)

);

Comparator byAge = (p1, p2) -> p1.getAge() - p2.getAge();

myList.stream()

   .sorted(byAge)

   .forEach(e -> System.out.println(e.getName() + " " + e.getAge()));

上面的代码会先按照年龄从小到大排序,然后输出按照排序后的顺序。

通过使用Set和Lambda表达式去重和Comparator接口和Lambda表达式排序,我能够更容易地对List进行简洁和高效的操作。希望这些技巧对Java开发者有所帮助。

标题:Java List去重排序,如何根据另一个字段的大小排序?

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章