List集合去重复
来源:互联网 发布:新版淘宝购物评级在哪 编辑:程序博客网 时间:2024/04/30 12:58
集合去重的几种方式:
第一种:
public <T> List<T> getRepeatContains(List<T> ts) { // 存放不可重复的值,HashSet中是不允许存放重复的值的 HashSet<T> set = new HashSet<T>(); // 最终要返回的去重后的数据集合 List<T> repeatElements = new ArrayList<T>(); // 迭代遍历出原始的集合数据进行比对 Iterator<T> iterator = ts.iterator(); while (iterator.hasNext()) { T t = iterator.next(); // 比对如果没有的话就添加进入 if (!set.contains(t)) { set.add(t); } } // 循环结束将数据添加到集合中 repeatElements.addAll(set); // 返回结果 return repeatElements; }
第二种:
HashSet<string> hs = new HashSet<string>(li1); //此时已经去掉重复的数据保存在hashset中
第三种:
for (int i = 0; i < li2.Count; i++) //外循环是循环的次数 { for (int j = li2.Count - 1 ; j > i; j--) //内循环是 外循环一次比较的次数 { if (li2[i] == li2[j]) { li2.RemoveAt(j); } } }
第四种:
//把相同的用null代替。 for (int i = 0; i < li3.Count; i++) { for (int j = 0; j < li3.Count; j++) { if (i == j) continue; if (li3[i] == li3[j]) { li3[j] = "null"; } } }
第五种:
//这方法跟上面的一样,只是变了逻辑 for (int i = 0; i < li4.Count - 1; i++) { for (int j = 0; j < li4.Count ; j++) { if (i != j) { if (li4[i] == li4[j]) { li4[j] = "null"; } } } }
有些方法针对某些情况可能不好用,但是看懂思路改一改每一个方法都是可以用,希望能够帮助到大家
0 0
- List集合去重复
- List集合去重复
- List集合去重复
- java list集合去重复
- Java笔记之List集合去重复
- set集合去重复
- List去重复
- list 去重复项
- list 去重复
- list去重复
- list 去重复
- List去重复元素
- list去重复
- c# list 去重复
- List数组去重复
- List 去重复
- list集合去重
- List集合去重
- Erasure Coding技术在Hadoop中的实现
- 本鲨单实列日常巡检脚本涉及部分DG 代码超长.
- onNewIntent调用时机
- 把rpm package 安装到ubuntu上
- iPhone ZBar库 中文乱码解决方法--重新编译libzbar.a
- List集合去重复
- Redis redis.clients.jedis.exceptions.JedisDataException: ERR Operation against a key holding the wr
- 简单的log4j.properties示例
- javapns 推送ios消息
- iOS 使用 AFNetwork && Alamofire 实时监测网络状况
- Introducing Apache Spark Datasets
- HBabse1.2.X实战:HBabse1.2.1和Zookeeper3.4.8安装
- ARM芯片(stm32)学习笔记——时钟
- 怎么拍妹子会显得腿长?