用Java实现数据重复过滤
时间: 2023-05-15 19:05:17 浏览: 259
可以使用Java中的HashSet来实现数据重复过滤。HashSet是一种基于哈希表实现的Set接口,它不允许存储重复元素。具体实现代码如下:
```java
Set<Integer> set = new HashSet<>();
int[] arr = {1, 2, 3, 2, 4, 1};
for (int i : arr) {
set.add(i);
}
System.out.println(set); // 输出 [1, 2, 3, 4]
```
以上代码将数组中的元素添加到HashSet中,由于HashSet不允许存储重复元素,所以最终输出的结果只包含不重复的元素。
相关问题
java 过滤list不重复对象数据
可以使用Java 8的Stream API来过滤List中不重复的对象数据。假设有一个名为Person的类,其中包含id和name两个属性,现在需要过滤List<Person>中不重复的Person对象数据,可以这样实现:
```java
List<Person> personList = ... // 原始List
List<Person> distinctList = personList.stream()
.collect(Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Person::getId))),
ArrayList::new
));
```
上述代码中,使用Stream的collect方法进行聚合操作,其中Collectors.toCollection方法接收一个Supplier参数,返回一个新的集合对象(这里使用TreeSet来保证Person的id不重复),然后将聚合结果转换为ArrayList对象返回。这样就可以得到一个不含重复Person对象的List了。
Java 中 stream流怎么过滤掉重复数据
可以使用 distinct() 方法来过滤掉重复数据。例如,对一个 List 进行去重可以这样写:
List<Integer> list = Arrays.asList(1, 2, 2, 3, 3, 4, 5);
List<Integer> distinctList = list.stream().distinct().collect(Collectors.toList());
这样,distinctList 中就只包含了 1, 2, 3, 4, 5 这几个元素,重复的元素被过滤掉了。
阅读全文