博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
list去重的几种方法
阅读量:6252 次
发布时间:2019-06-22

本文共 1655 字,大约阅读时间需要 5 分钟。

//set集合去重,不改变原有的顺序

public static void pastLeep1(List<String> list){
System.out.println("list = [" + list.toString() + "]");//先打印一下集合中看有那些的数据
List<String> listNew=new ArrayList<>();//创建一个新的集合
Set set=new HashSet();//创建一个set集合,因为set是不可重复的集合
for (String str:list) {
//把要去重的集合遍历放到set集合中去重
if(set.add(str)){
//set.add()的方法是返回的是一个boolean类型,成功为true,失败false
listNew.add(str);

}

//set在集合类中是不可重复的,,所以放到set中都是单跳,而list集合是可以重复的

}

System.out.println("listNew = [" + listNew.toString() + "]");
}

//遍历后判断赋给另一个list集合

public static void pastLeep2(List<String> list){
System.out.println("list = [" + list.toString() + "]");
List<String> listNew=new ArrayList<>();
for (String str:list) {
if(!listNew.contains(str)){
//contains在集合中的方法是:是否包含的意思,返回的是一个boolean类型的 前面叫一个 "!" 表示不包含的意思
listNew.add(str);
}
}
System.out.println("listNew = [" + listNew.toString() + "]");
}

//set去重

public static void pastLeep3(List<String> list){
System.out.println("list = [" + list + "]");
Set set = new HashSet();
List<String> listNew=new ArrayList<>();
set.addAll(list);
listNew.addAll(set);
System.out.println("listNew = [" + listNew + "]");
}

//set去重(缩减为一行)

public static void pastLeep4(List<String> list){
System.out.println("list = [" + list + "]");
List<String> listNew=new ArrayList<>(new HashSet(list));
System.out.println("listNew = [" + listNew + "]");
}

//去重并按自然顺序排序

public static void pastLeep5(List<String> list){
System.out.println("list = [" + list + "]");
List<String> listNew=new ArrayList<>(new TreeSet<String>(list));//TreeSet是一个树形结构的set集合,集合中的数据是按照一定的顺序进行排序(自然排序和二叉树等)
System.out.println("listNew = [" + listNew + "]");

}

转载于:https://www.cnblogs.com/JerryTomcat/p/9120203.html

你可能感兴趣的文章
android UI之Shape详解_GradientDrawable
查看>>
Python sh库学习 上篇
查看>>
Oracle Management Server配置
查看>>
O/R Mapping实际开发经验之谈(转)
查看>>
SPSS Clementine 数据挖掘入门 (3)
查看>>
Hosting the WCF service
查看>>
xampp下php环境的设置
查看>>
以消息为基础,以事件驱动之(message based, event driven)-- 《深入浅出MFC》
查看>>
IT公司的等级观念
查看>>
如何建立合适的索引?
查看>>
linux 多线程基础1
查看>>
详解谷歌官方教程 Android插件ADT“.NET研究” 9.0.0
查看>>
postgres中的中文分词zhparser
查看>>
制作正式版10.11 OS X El Capitan 安装U盘(优盘)
查看>>
FF或将支持返回一个HTML文档对象
查看>>
Delphi的SEH异常机制
查看>>
静态与动态加载Dll [示例代码]
查看>>
QtGui.QCalendarWidget
查看>>
高内聚低耦合 浅析
查看>>
数组与对象的深浅复制
查看>>