zoukankan      html  css  js  c++  java
  • [Java数据结构]HashSet,LinkedHashSet,TreeeSet

    Java中Set表示一个不包括重复元素的集合,它有HashSet,LinkedHashSet,TreeeSet三种常用实现。

    HashSet是Set的最常用实现,它常被用来清除重复元素。

    例程:

            Set<String> filterSet=new HashSet<String>();
            
            filterSet.add("b");
            filterSet.add("b");
            filterSet.add("c");
            filterSet.add("c");
            filterSet.add("a");
            filterSet.add("a");
            filterSet.add("aa");
            filterSet.add("1");
            filterSet.add("3");
            filterSet.add("s");
            
            for(String str:filterSet) {
                System.out.println(str);
            }

    输出:

    aa
    a
    1
    b
    c
    3
    s

    从上面我们可以看出,HashSet能清除掉重复元素,但不能保持插入顺序,也不会自动排序。

    LinkedHashSet不但能清除重复,而且能保持元素的插入顺序。

            Set<String> filterSortSet=new LinkedHashSet<String>();
            filterSortSet.add("d");
            filterSortSet.add("b");
            filterSortSet.add("c");
            filterSortSet.add("c");
            filterSortSet.add("a");
            filterSortSet.add("a");
            filterSortSet.add("1");
            filterSortSet.add("1");
            filterSortSet.add("3");
            filterSortSet.add("s");
            
            for(String str:filterSortSet) {
                System.out.println(str);
            }

    输出:

    d
    b
    c
    a
    1
    3
    s

    TreeSet也能清除重复,且内部自动排序。

    例程:

            Set<String> filterSortSet=new TreeSet<String>();
            filterSortSet.add("d");
            filterSortSet.add("b");
            filterSortSet.add("c");
            filterSortSet.add("c");
            filterSortSet.add("a");
            filterSortSet.add("a");
            filterSortSet.add("1");
            filterSortSet.add("1");
            filterSortSet.add("3");
            filterSortSet.add("s");
            
            for(String str:filterSortSet) {
                System.out.println(str);
            }

    输出:

    1
    3
    a
    b
    c
    d
    s

    --END-- 2019-12-24 09:38

  • 相关阅读:
    【codeforces 766C】Mahmoud and a Message
    【codeforces 766D】Mahmoud and a Dictionary
    【b704 && BZOJ 1999】树网的核
    优秀Java程序员必须了解的GC工作原理
    Apparatus, system, and method for automatically minimizing real-time task latency and maximizing non-real time task throughput
    NODEJS网站
    day63-webservice 01.cxf介绍
    04.webservice客户端调用
    03.WSDL分析
    02.socket实现远程调用
  • 原文地址:https://www.cnblogs.com/heyang78/p/12089517.html
Copyright © 2011-2022 走看看