Set接口和HashSet类

主讲人:王少华  QQ群号:483773664

学习目标

1、理解Set接口的特点

2、掌握HashSet类使用

一、Set接口

Set集合中的元素,是无序的

Set集合不允许包含相同的元素,如果试图把两个相同元素加入同一个Set集合中,则添加操作失败,add方法返回false,且新元素不会被加入

二、HashSet类

HashSet是Set的典型的实现,大多数时候,使用Set集合时就是使用HashSet

(一)HashSet的特点

1、不能保证元素的排列顺序,顺序有可能发生变化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Test {
    public static void main(String[] args) {
        String name1 = "孙悟空";
        String name2 = "猪八戒";
        String name3 = "沙僧";
        String name4 = "唐僧";
        Set nameSet = new HashSet();
        nameSet.add(name1);
        nameSet.add(name2);
        nameSet.add(name3);
        nameSet.add(name4);
        System.out.println(nameSet);
    }
}


2、HashSet不是同步的,如果多个线程访问一个HashSet,必须通过代码来保证其同步

3、可以存储null

1
nameSet.add(null);

(二)常用方法


1
2
3
4
5
6
7
8
9
10
public class TestAdd {
    public static void main(String[] args) {
        Set set = new HashSet();
        set.add(new String("隔壁老王"));
        //因为两个对象通过equals方法比较相等,所以添加失败
        boolean bool = set.add(new String("隔壁老王"));
        System.out.println("bool:"+bool);
        System.out.println(set);
    }
}

 

三、视频地址

http://edu.51cto.com/course/course_id-6028.html