Java 中ArrayList<Object>如何去除其中重复的对象

Java 中ArrayList<Object>如何去除其中重复的对象,第1张

去掉重复对象的方案很多, 比如利用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里面是否有重复的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9806212.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存