java中集合类中Collection接口中的Set接口的常用方法熟悉
1:Set集合由Set接口和Set接口的实现类组成,Set接口继承了Collection接口,因为包含Collection接口的所有方法。
2:由于Set接口中不允许存在重复值,因此可以使用Set集合中addAll()方法,将Collection集合添加到Set集合中并除掉重复值
3:案例要求,创建一个List集合对象,并往List集合中添加元素。再创建一个Set集合,利用addAll()方法将List集合对象存入到Set集合中并除掉重复值,最后打印Set集合中的元素
1 package com.ning; 2 3 import java.util.*; 4 5 public class Demo02 { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 List<String> list=new ArrayList<String>();//创建List集合 10 list.add("b");//将List集合中添加元素 11 list.add("a"); 12 list.add("c"); 13 list.add("q"); 14 list.add("c"); 15 Set<String> set=new HashSet<String>();//创建List集合对象 16 set.addAll(list);//将List集合添加到Set集合中 17 set.add("111"); 18 set.remove("111"); 19 Iterator<String> it=set.iterator();//创建Set迭代器 20 System.out.println("集合中的元素是:"); 21 while(it.hasNext()){ 22 System.out.print(it.next()+"\t"); 23 } 24 25 26 27 } 28 29 }
1:要使用Set集合,通常情况下需要声明为Set类型,然后通过Set接口类来实例化。Set接口的实现类常用HashSet和TreeSet类。
Set<String> set=new HashSet<String>();
Set<String> set=new TreeSet<String>();
2:由于集合中对象是无序的,遍历Set集合的结果与插入Set集合的顺序并不相同
1 package com.ning; 2 3 public class People { 4 5 private String name; 6 private long id_card; 7 public People(String name,long id_card){ 8 this.name=name; 9 this.id_card=id_card; 10 } 11 12 public void setId_card(long id_card){ 13 this.id_card=id_card; 14 } 15 public long getId_card(){ 16 return id_card; 17 } 18 19 public void setName(String name){ 20 this.name=name; 21 } 22 public String getName(){ 23 return name; 24 } 25 26 }
1 package com.ning; 2 3 import java.util.*; 4 5 public class Demo05 { 6 7 public static void main(String[] args) { 8 Set<People> set=new HashSet<People>();//创建Set集合对象 9 set.add(new People("小别",10010));//向集合中添加元素 10 set.add(new People("小李",10011)); 11 set.add(new People("小赵",10012)); 12 Iterator<People> it=set.iterator();//创建集合迭代器 13 System.out.println("集合中的元素是:"); 14 while(it.hasNext()){ 15 People p=it.next(); 16 System.out.println(p.getName()+" "+p.getId_card()); 17 } 18 } 19 20 }
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?