• list集合 去重复 的 3种方法


    经常遇到list去重复的要求,   目前遇到的分以下 三种情况

    第一种  list<String>

    //list 去重

    public static List removeDuplicate(List list){
    List listTemp = new ArrayList();
    for(int i=0;i<list.size();i++){
    if(!listTemp.contains(list.get(i))){
    listTemp.add(list.get(i));
    }
    }
    return listTemp;
    }

    第二种 list<Object>

    有一种是使用set的方式

    Set<Object> set = new TreeSet<>(new Comparator<Object>() {
    @Override
    public int compare(Objecto1, Object o2) {
    // 这里按照自己的需求来添加属性即可  
    return (o1.getId().compareTo(o2.getId()) );
    };
    });
    set.addAll(newlist);
    newlist = new ArrayList<>(set);

    第三种   list<Object>

    //使用 set 去重复会打乱顺序,  实在不行就去用 最普通的去重复
    // 这个有点消耗资源的  ..


    for (int i = 0; i < newlist.size(); i ++) {
    Object outU = newlist.get(i);
    for (int j = newlist.size() - 1; j > i; j--) { // 内层循环从 size() -1开始
    Object inU = newlist.get(j);
    if (inU.getId().equals(outU.getId()) ) {
    newlist.remove(j);
    }
    }

    }

  • 相关阅读:
    IO多路复用--epoll(待学习)
    网络信息检索
    TCP协议的客户端与服务器的通信过程
    UDP网络编程
    HDU_oj_2017 字符串统计
    HDU_oj_2016 数据的交换输出
    HDU_oj_2015 偶数求和
    HDU_oj_2014 评委会打分
    HDU_oj_2013 蟠桃记
    HDU_oj_2012 素数判定
  • 原文地址:https://www.cnblogs.com/Mr-Y1907/p/12218495.html
Copyright © 2020-2023  润新知