java ArrayList去重

Posted 草木物语

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java ArrayList去重相关的知识,希望对你有一定的参考价值。

对list集合中的重复值进行处理,大部分是采用两种方法,

  一种是用遍历list集合判断后赋给另一个list集合,

  另一种是用赋给set集合再返回给list集合。 

 

方法1:set集合去重,不打乱顺序

List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("aba");
list.add("aaa");

//set集合去重,不打乱顺序
Set<String> set = new HashSet<String>();
List<String> newList = new ArrayList<String>();
for (String cd : list) {
    if (set.add(cd)) {
        newList.add(cd);
    }
}
System.out.println("去重后的集合: " + newList);

方法2:遍历后判断赋给另一个list集合

//遍历后判断赋给另一个list集合
List<String> newList = new ArrayList<String>();
for (String cd : list) {
    if (!newList.contains(cd)) {
        newList.add(cd);
    }
}
System.out.println("去重后的集合: " + newList);

方法3:set去重

//set去重
Set<String> set = new HashSet<String>();
List<String> newList = new ArrayList<String>();
set.addAll(list);
newList.addAll(set);
System.out.println("去重后的集合: " + newList);

方法4:set去重(代码缩减为一行)

//set去重(缩减为一行)
List<String> newList = new ArrayList<String>(new HashSet<String>(list));
System.out.println("去重后的集合: " + newList);

方法5:去重并且按照自然顺序排列

//去重并且按照自然顺序排列
List<String> newList = new ArrayList<String>(new TreeSet<String>(list));
System.out.println("去重后的集合: " + newList);

 

文章来源:http://blog.csdn.net/cs6704/article/details/50158373

以上是关于java ArrayList去重的主要内容,如果未能解决你的问题,请参考以下文章

java ArrayList去重案例

java ArrayList去重

ArrayList去重常用的四种方式及性能对比(JMH性能分析)

List去重的五种方式

Java通过ArrayList的contains(Object o)方法实现去重字符串中的字符

java list去重