去掉重复对象的方案很多, 比如利用set去重等
参考代码
import javautilArrayList;import javautilHashSet;
public class Test {
public static void main(String[] args) {
ArrayList<Object> list =new ArrayList<Object>();
listadd(8);
listadd(2);
listadd(8);
listadd(7);
listadd(6);
listadd(5);
listadd(2);
listadd(7);
Systemoutprintln("原始集合"+list);
//方案1 不考虑list原始顺序的情况下
HashSet<Object> set = new HashSet<Object>(list);//把list作为参数放到HashSet的构造函数里,去掉重复元素
ArrayList<Object> result1= new ArrayList<Object>(set);//把set作为参数放到ArrayList构造函数里
Systemoutprintln(result1);//输出result1
//方案2 考虑list的原始顺序
ArrayList<Object> result2 = new ArrayList<Object>();
for (int i = 0; i <listsize(); i++) {
if(!result2contains(listget(i))) {//如果没有重复元素 ,才添加进结果集合result2
result2add(listget(i));
}
}
Systemoutprintln(result2);//输出result2
}
}
输出
原始集合[8, 2, 8, 7, 6, 5, 2, 7][2, 5, 6, 7, 8]
[8, 2, 7, 6, 5]
用以下代码,a是要找重复数据的List,最后得到c,里面都是a的重复数据,只出现一次的已经过滤掉了。
如果c里面的数据要求不重复,把ArrayList换成HashSet就行了。
List a = new ArrayList();
aadd("123");
aadd("123");
aadd("123");
aadd("123");
aadd("456");
aadd("789");
aadd("123");
Set b = new HashSet();
ArrayList c = new ArrayList();
for (int i = 0; i < asize(); i++) {
Object x = aget(i);
if (bcontains(x)) {
cadd(x);
}
badd(x);
}
你好,既然用list了,那么就不排除会重复,而且list可以是对象,也并不好确认唯一性,可以用map来进行存储确认唯一性。如果一定要把list判断出来的话,可以参考下面的小例子
public static void main(String[] args) { List<String> list = new ArrayList<String>(); listadd("aa"); listadd("bb"); listadd("cc"); listadd("dd"); listadd("bb"); listadd("ee"); listadd("dd"); listadd("ff"); String temp = ""; for (int i = 0; i < listsize() - 1; i++) { temp = listget(i); for (int j = i + 1; j < listsize(); j++) { if (tempequals(listget(j))) { Systemoutprintln("第" + (i + 1) + "个跟第" + (j + 1) + "个重复,值是:" + temp); } } } }
爪哇 li意法半导体的重复对象,可应用Set集合合并合并类型无重复的数字据的性格,把li意法半导体的数字据存入set里,过滤掉重复的数字据,如下代码:
packa通用电气 comqiulinhe;
import 爪哇utilArrayLi意法半导体;
import 爪哇utilHashSet;
import 爪哇utilLi意法半导体;
import 爪哇utilSet;
public class Ceshi {
public 意法半导体atic void main(意法半导体ring[] args) {
Li意法半导体<Inte通用电气r> li = new ArrayLi意法半导体<Inte通用电气r>();//建立11一个li意法半导体结合并
liadd(1);
liadd(2);
liadd(3);
liadd(1);
Set<Inte通用电气r> se = new HashSet<Inte通用电气r>();//建立11一个set集合合并合并
for (Inte通用电气r inte通用电气r : li) {
seadd(inte通用电气r);//过滤重复的数字据
}
for (Inte通用电气r inte通用电气r : se) {
Sy意法半导体emoutprintln("输出li意法半导体数字组的去重的每1一个数字据" + inte通用电气r);
}
}
}
运行结果如下:
望采纳,谢谢。
以上就是关于Java 中ArrayList<Object>如何去除其中重复的对象全部的内容,包括:Java 中ArrayList<Object>如何去除其中重复的对象、如何取出数组中相同的对象、java里面判断List里面是否有重复的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)