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 }