java集合框架之 Set

show me code! 区别代码里说
    public static void testHashSet() {
        HashSet<String> set = new HashSet<>();
        set.add("张飞");
        set.add("张辽");
        set.add("张让");
        set.add("张让");
        set.add("1");
        set.add("3");
        set.add("2");
        System.out.println("--HashSet--");
        for (String string : set) {
            System.out.println(string);
        }/**(张辽,1,张飞,2,3,张让)特点:无序,不重复, 数据结构:散列表hashMap  父类 AbstractSet*/
    }
    public static void testTreeSet() {
        TreeSet<String> set = new TreeSet<>();
        set.add("张飞");
        set.add("张辽");
        set.add("张让");
        set.add("张让");
        set.add("1");
        set.add("3");
        set.add("2");
        Iterator iterator =set.iterator();
        System.out.println("--TreeSet--");
        while(iterator.hasNext()) {
            System.out.println(iterator.next());;
        }/**(张飞,张辽,张让,1,3,2)特点:按插入的顺序,不重复,数据结构:双向循环链表,实现使用linkedhashMap父类HashSet*/
    }
    public static void testlinkHashSet() {
        LinkedHashSet<String> set = new LinkedHashSet<>();
        set.add("张飞");
        set.add("张辽");
        set.add("张让");
        set.add("张让");
        set.add("1");
        set.add("3");
        set.add("2");
        System.out.println("--linkHashSet--");
        for (String string : set) {
            System.out.println(string);
        }/**(1,2,3,张让,张辽,张飞)特点:自动排序,不重复 ,数据结构:红黑树 基于TreeMap实现   父类AbstractSet*/
    }
    public static void main(String[] args) {
        //统一特点 非线程安全且不重复 
        MySet.testHashSet();   
        MySet.testlinkHashSet();
        MySet.testTreeSet();  
} 

 

posted @ 2018-06-07 20:59  蓝色丶格调  阅读(247)  评论(0编辑  收藏  举报