📑前言
本文主要是【Java】——java实现list去重(四种方法)的文章,如果有什么需要改进的地方还请大佬指出⛺️
🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见
目录
- 📑前言
- 1.Set
- 2.遍历list集合,将元素添加到另一个List集合中
- 3.java8特性去重
- 4.用TreeSet去重,默认数字升序排序,字母按照字典序
- 测试
- 输出结果
- 📑文章末尾
1.Set
//由于set的无序性,不会保持原来的顺序。
public static List<String> solution1(List<String> list){
Set<String> set = new HashSet<>(list);
List<String> ans = new ArrayList<>(set);
return ans;
}
2.遍历list集合,将元素添加到另一个List集合中
public static List<String> solution2(List<String> list){
List<String> ans = new ArrayList<>();
for(String i:list) {
if (!ans.contains(i)) {
ans.add(i);
}else {
continue;
}
}
return ans;
}
3.java8特性去重
/**
* java8特性去重
*/
public static List<String> solution3(List<String> list){
List<String> ans = list.stream().distinct().collect(Collectors.toList());
return ans;
}
4.用TreeSet去重,默认数字升序排序,字母按照字典序
public static List<String> solution4(List<String> list){
TreeSet<String> t = new TreeSet<>(list);
List<String> ans = new ArrayList<>(t);
return ans;
}
测试
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("apple");
list.add("orange");
list.add("banana");
list.add("grape");
list.add("grape");
System.out.println(solution1(list));
System.out.println(solution2(list));
System.out.println(solution3(list));
System.out.println(solution4(list));
}