问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何去除List集合中重复的元素

发布网友 发布时间:2022-04-21 00:08

我来回答

4个回答

热心网友 时间:2022-04-18 05:22

1、通过循环进行删除

public static void removeDuplicate(List list) {

for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {

for ( int j = list.size() - 1 ; j > i; j -- ) {

if (list.get(j).equals(list.get(i))) {

list.remove(j);}}}

System.out.println(list);}

2、通过HashSet删除

public static void removeDuplicate(List list) {

HashSet h = new HashSet(list);

list.clear();

list.addAll(h);

System.out.println(list);}

扩展资料:

List集合代表一个元素有序,可重复的集合,集合中每个元素都有对应的顺序索引。List接口中增加了一些根据索引操作元素的方法:

void add(int index,E element )  在列表的指定位置插入该元素。

boolean addAll(int index,Collection c)  将集合c包含的所有元素都插入到List集合的index处。

Object get(int index)    返回集合index索引出的元素。

List额外提供的一个listIterator()方法,提供了专门操作List的方法。

ListIterator接口在Iterator的基础上增加了如下方法:

boolean hasPrevious(): 返回该迭代器关联的集合是否还有上一个元素。

Object previous(): 返回该迭代器的上一个元素。

void add((E e): 在指定位置插入一个元素。

参考资料来源:百度百科——list

热心网友 时间:2022-04-18 06:40

List去重是通过将List集合转换成Set。Set是最简单的一种集合,不保存重复的元素,集合中的对象不按特定的方式排序,并且没有重复对象。

新建一个Test类,如下所示:

public class Test {

@SuppressWarnings({ "unchecked", "rawtypes" })

public static void main(String[] args) {

List list = new ArrayList();

list.add(1);

list.add(2);

list.add(3);

list.add(4);

list.add(1);

System.out.println(list);

//创建一个set集合

Set set = new HashSet();

//创建一个新的list集合

List newList = new ArrayList();

set.addAll(list);

newList.addAll(set);

System.out.println(newList);}

扩展资料

参考list是双向循环链表,,每一个元素都知道前面一个元素和后面一个元素。在STL中,list和vector一样,是两个常被使用的容器。和vector不一样的是,list不支持对元素的任意存取。

list中提供的成员函数与vector类似,不过list提供对表首元素的操作push_front、pop_front,这是vector不具备的。

和vector另一点不同的是,list的迭代器不会存在失效的情况,不像vector会保留备份空间,在超过容量额度时重新全部分配内存,导致迭代器失效;list没有备份空间的概念,出入一个元素就申请一个元素的空间,所以它的迭代器不会失效。

参考资料来源:百度百科-list

热心网友 时间:2022-04-18 08:14

最好的办法是用Set,因为Set里面存放的数据是不重复的。
如果你不想用Set,那还可以向下面这样处理。

List list_tmp = new ArrayList(); //建立一个用于临时存放不重复list元素的List集合。
for(Object obj:list){
//可以根据需要,在这里加上强制转型。
//如list里面存放的是一个User对象,那么加上User u = (User) obj;
if(!list_tmp.contains(obj)){ //注意contains方法是通过equals方法进行比较的所以你要根据你自己的需要看是否需要重写list对象里面的equals方法。
list_tmp.add(obj);//如果上面加了强制转型,这里需要写list_tmp.add(u);
}
}

热心网友 时间:2022-04-18 10:06

【参考】
1、通过循环进行删除

public static void removeDuplicate(List list) {
for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {
for ( int j = list.size() - 1 ; j > i; j -- ) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
}
}
}
System.out.println(list);
}

2、通过HashSet删除
public static void removeDuplicate(List list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
System.out.println(list);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
想买红米但没银行卡 开美宜佳便利店是加盟好还是直接转一个美宜佳店好 ...就给你一个交易号,能到美宜佳付款,请问美宜佳是怎样付款的_百度知 ... 用美宜佳代购会不会看到我买的东西 重返帝国弓弩营对诸葛连弩有加成吗 重返帝国城市风格选什么好 重返帝国城市风格选择推荐 重返帝国城市风格怎么切换 重返帝国城市如何切换风格 重返帝国城市风格大全 特色兵种及增益介绍 重返帝国特殊兵种怎么生产-特殊兵种生产攻略 重返帝国怎么训练诸葛弩 C盘里的list能删除么? 如何在list中删除我指定的对象 如何批量删除list循环出来的值? python list怎么删除一个元素 C盘有十几个list文件,可以删除吗? 如何从List集合中删除对象 如何删除list中的对象 java 怎么删除List中的指定元素 榴莲酥最简单的做法,只要几步就能搞定 榴莲酥的简介 榴莲酥怎么制作 榴莲酥的特点 制作榴莲酥的时候,里面需要放多少榴莲? 榴莲酥是什么呀 榴莲酥的做法(详解) 结婚房间怎么气球布置 结婚婚房气球布置技巧 布置婚房禁忌有哪些 怎么用气球布置房间 想用气球布置婚房,应该怎么布置呢? 气球怎么样才能停在屋顶 list可以删除么? java List 遍历和删除 急 Android 怎么删除list中的某一项item 如何在List集合中去除重复元素? jsp中list 如何删除 指定的一项 c++问题 list随机删除如何实现? java中 list怎么去除多条数据? 如何在遍历list的时候删除元素 list删除最后一个元素,求解释 Android 如何删除list中的某一项item 中信银行信用卡查询总欠款怎么查? 如何获取中信银行信用卡的消费记录? 中信信用卡怎么查询账单 中信银行信用卡怎么查询消费记录?提额都有啥要求? 中信银行信用卡额度六万刷卡消费到那个卡上怎么查询? 如何在中信银行查询一年之前的交易明细 中信银行信用卡短信怎么查询信用卡账单? 中信银行信用卡怎么用短信查询账单 中信银行消费账单如何查询 BIM软件培训课程有哪些