Java中给List去重的4种方式
java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("banana");
list.add("apple");
list.add("orange");
list.add("orange");
System.out.println("原始list:" + list);
// 方式1: Stream 的 distinct() 方法
List<String> list1 = list.stream().distinct().collect(Collectors.toList());
System.out.println("方式1:" + list1);
// 方式2: 使用 Set 去重
Set<String> set = new HashSet<>(list);
List<String> list2 = new ArrayList<>(set);
System.out.println("方式2:" + list2);
// 方式3: 使用 LinkedHashSet 去重并保留顺序
Set<String> linkedHashSet = new LinkedHashSet<>(list);
List<String> list3 = new ArrayList<>(linkedHashSet);
System.out.println("方式3:" + list3);
// 方式4: 手动遍历去重
List<String> list4 = new ArrayList<>();
for (String item : list) {
if (!list4.contains(item)) {
list4.add(item);
}
}
System.out.println("方式4:" + list4);