zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Hibernate使用笔记
    svn树冲突的解决方法
    SVN 清理失败的解决方法
    类的实现
    lua元表
    lua中table的常用方法
    C/C++作用域运算符::
    Cocos2d-x Lua 学习
    Lua学习
    吾 三十而望
  • 原文地址:https://www.cnblogs.com/ooo0/p/7569372.html
Copyright © 2011-2022 走看看