目录
- 待去重列表
- HashSet去重(不保证顺序)
- TreeSet去重(不保证顺序)
- LinkedHashSet去重(保证顺序)
- 遍历List去重(保证顺序)
- Java8中Stream流处理(保证顺序)
- 参考文章
待去重列表
List<String> list = new ArrayList<>();
list.add("Tom");
list.add("Jack");
list.add("Steve");
list.add("Tom");System.out.println(list);
HashSet去重(不保证顺序)
Set<String> set = new HashSet<>(list);
List<String> newList = new ArrayList<>(set);System.out.println(newList);
TreeSet去重(不保证顺序)
Set<String> set = new TreeSet<>(list);
List<String> newList = new ArrayList<>(set);System.out.println(newList);
LinkedHashSet去重(保证顺序)
Set<String> set = new LinkedHashSet<>(list);
List<String> newList = new ArrayList<>(set);System.out.println(newList);
遍历List去重(保证顺序)
List<String> newList = new ArrayList<>();
for (String value : list) {if(!newList.contains(value)){newList.add(value);}
}System.out.println(newList);
Java8中Stream流处理(保证顺序)
List<String> newList = list.stream().distinct().collect(Collectors.toList());System.out.println(newList);
参考文章
- List 去重的 6 种方法,这个方法最完美!