1. 程式人生 > >Set接口HashSet實現類

Set接口HashSet實現類

each 返回 接口 叠代器 while 十進制 args 存儲 object

java.util.Set接口 extends Collection接口

Set特點:
1、不允許有重復的元素
2、沒有索引,沒有帶索引的方法,也不能使用普通的for遍歷

java.util.HashSet集合 implements Set接口

Set接口的一個實現類
HashSet特點:
1、沒有重復的元素
2、沒有索引,沒有帶索引的方法,也不能使用普通的for遍歷
3、是一個無序的集合,存儲和取出的順序有可能不一致
4、底層是一個哈希表結構(查找快)

public class Demo01Set {
    public static void main(String[] args) {
        Set<Integer> set = new HashSet<>();
        set.add(3);
        set.add(3);
        set.add(2);
        set.add(12);
        set.add(22);
        set.add(13);// 添加
        set.add(222);
        System.out.println(set.size());
        Iterator<Integer> it = set.iterator();
        while(it.hasNext()) {// while叠代器遍歷
            Integer next = it.next();
            System.out.println(next);

        }

        for(Integer next: set) {// for each遍歷
            System.out.println(next);
        }
    }
}

哈希值

Object類有一個hashCode方法,返回對象的哈希值,一個十進制的值

Student stu = new Student();
int hashcode = stu.hashCode();

Set不允許元素重復的原理

技術分享圖片

Set接口HashSet實現類