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 }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据库新发现

Emulex LightPulse FC9002L光纤卡安装日志

# tar xvf solaris-6.01c-1a.tar x EmlxApps300a8-Solaris.tar, 6850560 bytes, 13380...

1092
来自专栏贾老师の博客

CMake 使用

853
来自专栏IT进修之路

原 荐 SpringBoot整合mybati

1643
来自专栏林德熙的博客

win10 uwp 活动磁贴

本文翻译:https://mobileprogrammerblog.wordpress.com/2015/12/23/live-tiles-and-notifi...

622
来自专栏数据和云

DBA必备技能:通过truss跟踪解决监听无法启动案例

作者简介:刘斌,云和恩墨高级技术专家,擅长数据库故障诊断分析,数据库性能优化,自动化运维开发,坚持学习、写作、分享, 在Oracle DBA的日常工作中,通过各...

3007
来自专栏算法修养

CodeForces 709C Letters Cyclic Shift

C. Letters Cyclic Shift time limit per test 1 second memory limit per test ...

2876
来自专栏乐沙弥的世界

使用crs_profile管理RAC资源配置文件

    profile通常指配置文件,crs_profile望文生义可知,就是管理集群的配置文件。在Oraclele RAC中,所有的CRS资源存放在OCR磁盘...

653
来自专栏张高兴的博客

张高兴的 Windows 10 IoT 开发笔记:无线收发芯片 nRF24L01

1032
来自专栏CreateAMind

视觉机械臂 visual-pushing-grasping

1011
来自专栏james大数据架构

常见的几种Flume日志收集场景实战

  这里主要介绍几种常见的日志的source来源,包括监控文件型,监控文件内容增量,TCP和HTTP。 Spool类型   用于监控指定目录内数据变更,若有新文...

2775

扫码关注云+社区