Set集合概述与hashset概述

Set集合

不包含重复元素(唯一),无序
存取顺序不一致

HashSet:

它不保证set的迭代顺序,特别是它保证该顺序恒久不变
底层数据结构是哈希表
注意:虽然Set集合的元素无序,但是,作为集合来说,它肯定有它自己的存储顺序,而你的顺序恰好和它的存储顺序一致,这代表不了有序,你可以多存储一些数据,就能看到效果。



public class SetDemo {
    public static void main(String[] args) {
        // 创建集合对象
        Set<String> set = new HashSet<String>();

        // 创建并添加元素
        set.add("hello");
        set.add("java");
        set.add("world");
        set.add("java");
        set.add("world");

        // 增强for
        for (String s : set) {
            System.out.println(s);
        }
    }
}

哈希表:

是一个元素为链表的数组。综合了数组和链表的好处。
哈希表结构底层依赖:hashCode()和equals()方法
如果你认为对象的成员变量值相同即为同一个对象的话,
使用时需要重写hashCode方法和equals方法
posted @ 2017-11-01 08:49  aniymx  阅读(150)  评论(0编辑  收藏  举报