跟王老师学集合:Set接口和HashSet类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟王老师学集合:Set接口和HashSet类相关的知识,希望对你有一定的参考价值。

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







以上是关于跟王老师学集合:Set接口和HashSet类的主要内容,如果未能解决你的问题,请参考以下文章

跟王老师学集合Map接口

Java学习笔记5.3.1 Set接口 - HashSet类

Java 集合类学习之HashSet

跟王老师学集合:操作集合的工具类:Collections

Java学习(set接口HashSet集合)

跟王老师学集合ArrayList和Vector实现类