Java list集合中根据其中两个字段去重

可以使用Java 8的Stream API和Collectors.toSet()方法来实现根据其中两个字段去重。

首先,使用Stream API将List转换为Stream,然后使用distinct()方法进行去重。distinct()方法默认使用元素的equals()和hashCode()方法进行去重。如果想要根据其中两个字段进行去重,需要重写equals()和hashCode()方法,使其依据指定的字段进行比较和哈希。

最后使用Collectors.toSet()方法将Stream转换为Set。

示例代码如下:

List<Person> list= ...;

Set<Person> set = list.stream()
            .distinct()
            .collect(Collectors.toSet());

注意:需要重写 Person 的 hashCode 和 equals


版权声明:本文为weixin_35756690原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。