• 【Java_集合框架Set】HashSet、LinkedHashSet、TreeSet使用区别


    HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放;

    LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代;  

    TreeSet:提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快。

    示例代码::

     1 package com.test2;
     2 
     3 import java.util.HashSet;
     4 import java.util.Iterator;
     5 import java.util.LinkedHashSet;
     6 import java.util.List;
     7 import java.util.Set;
     8 import java.util.TreeSet;
     9 
    10 public class set {
    11 
    12     public static void linkedhashset() {
    13         // 以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代;
    14         System.out.println("这里是LinkedHashset:");
    15         Set<String> set = new LinkedHashSet<String>();
    16         set.add("aaa");
    17         set.add("d");
    18         set.add("z");
    19         set.add("aaa");
    20         set.add("bbb");
    21         for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
    22             String str = iter.next();
    23             System.out.println(str);
    24         }
    25 
    26     }
    27 
    28     public static void treeset() {
    29         // 提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快。
    30         System.out.println("这里是TreeSet:");
    31         Set<String> set = new TreeSet<String>();
    32         set.add("aaa");
    33         set.add("d");
    34         set.add("z");
    35         set.add("aaa");
    36         set.add("bbb");
    37         for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
    38             String str = iter.next();
    39             System.out.println(str);
    40         }
    41 
    42     }
    43 
    44     public static void hashset() {
    45         // 哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放
    46         System.out.println("这里是HashSet:");
    47         Set<String> set = new HashSet<String>();
    48         set.add("aaa");
    49         set.add("d");
    50         set.add("z");
    51         set.add("aaa");
    52         set.add("bbb");
    53         for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
    54             String str = iter.next();
    55             System.out.println(str);
    56         }
    57 
    58     }
    59 
    60     public static void main(String[] args) {
    61         linkedhashset();
    62         hashset();
    63         treeset();
    64 
    65     }
    66 
    67 }

    结果输出:

    这里是LinkedHashset:
    aaa
    d
    z
    bbb
    这里是HashSet:
    aaa
    bbb
    d
    z
    这里是TreeSet:
    aaa
    bbb
    d
    z

    学而不思则罔 思而不学则殆 !
  • 相关阅读:
    分享完整的项目工程目录结构
    2014年糯米网校
    高并发非自增ID如何设计?
    Asp.Net中使用Couchbase——Memcached缓存使用篇
    协作图(通信图)collaboration diagram
    解决java获取系统时间差8个小时 专题
    智言趣语
    Common class for judge IPV6 or IPV4
    判断参数是否符合要求的一个类
    Connection to https://dl-ssl.google.com refused的解决办法
  • 原文地址:https://www.cnblogs.com/boluopabo/p/7337993.html
Copyright © 2020-2023  润新知