list去重
现在设有Integer类型的ArrayList,list=[0,1,1,3,3,4,5]文章来源地址https://www.toymoban.com/news/detail-742912.html
1.使用contains
//使用contains
List<Integer> list1 = new ArrayList<>(list.size());
list.forEach(i -> {
if (!list1.contains(i)){
list1.add(i);
}
});
2.使用TreeSet/HashSet/LinkedHashSet
//使用hashSet去重
HashSet<Integer> set = new HashSet<>(list);
ArrayList<Integer> list2 = new ArrayList<>(set);
//hashSet会将元素进行排序,LinkedHashSet不会排序,只会去重
//TreeSet与HashSet作用类似
3.Stream流
//使用Stream流
list = list.stream().distinct().collect(Collectors.toList());
4.使用迭代器Iterator
//使用迭代器Iterator
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()){
//获取到集合中存储的元素
Integer next = iterator.next();
//indexOf()会返回元素第一次出现的位置,lastIndexOf()会返回元素最后出现的位置
//如果两个方法的返回值不一样,就说明该元素重复了。
if (list.indexOf(next) != list.lastIndexOf(next)){
iterator.remove();
}
}
5.list中的remove方法
//使用list中的remove()方法(不推荐)
for (int i = 0; i < list.size(); i++) {
for (int j = list.size()-1; j > i; j--){
if (list.get(i).equals(list.get(j))){
list.remove(j);
}
}
}
文章来源:https://www.toymoban.com/news/detail-742912.html
到了这里,关于List去重的几种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!