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

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

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

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

示例代码::

 package com.test2;

 import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet; public class set { public static void linkedhashset() {
// 以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代;
System.out.println("这里是LinkedHashset:");
Set<String> set = new LinkedHashSet<String>();
set.add("aaa");
set.add("d");
set.add("z");
set.add("aaa");
set.add("bbb");
for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
String str = iter.next();
System.out.println(str);
} } public static void treeset() {
// 提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快。
System.out.println("这里是TreeSet:");
Set<String> set = new TreeSet<String>();
set.add("aaa");
set.add("d");
set.add("z");
set.add("aaa");
set.add("bbb");
for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
String str = iter.next();
System.out.println(str);
} } public static void hashset() {
// 哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放
System.out.println("这里是HashSet:");
Set<String> set = new HashSet<String>();
set.add("aaa");
set.add("d");
set.add("z");
set.add("aaa");
set.add("bbb");
for (Iterator<String> iter = set.iterator(); iter.hasNext();) {
String str = iter.next();
System.out.println(str);
} } public static void main(String[] args) {
linkedhashset();
hashset();
treeset(); } }

结果输出:

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

上一篇:TP中不区分大小写__APP__和__URL__的注意事项


下一篇:Java_集合之三