【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

posted @ 2017-08-10 10:44  boluo1230  阅读(358)  评论(0编辑  收藏  举报