Set接口——HashSet和TreeSet
2009-12-28 18:16
405 查看
Set
接口——
HashSet
和
TreeSet
作者:
zccst
1.
接口实现类
HashSet
java.util.HashSet
类实现了
java.util.Set
接口。
即
HashSet
是实现了
Set
接口的
hash table
(哈希表),描述典型的
Set
集合结构
HashSet
中不允许出现重复元素,不保证集合中元素的位置。
HashSet
中允许包含值为
null
的元素,但最多只能有一个
null
元素。
例如:
TestHashSet.java
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
public class TestHashSet{
public
static void main(String[] args) {
HashSet
h = new HashSet();
h.add("1st");
h.add("2nd");
h.add(new
Integer(3));
h.add(new
Double(4.0));
h.add("2nd");
//
重复元素
,
未被加入
h.add(new
Integer(3));
//
重复元素
,
未被加入
h.add(new
Date());
System.out.println("
开始
: size=" + h.size());
Iterator
it = h.iterator();
while(it.hasNext()){
Object
o = it.next();
System.out.println(o);
}
h.remove("2nd");
System.out.println("
移除元素后
: size=" + h.size());
System.out.println(h);
}
}
输出结果:
开始
: size=5
2nd
Sun Dec 27 19:07:21 CST 2009
3
1st
4.0
移除元素后
: size=4
[Sun Dec 27 19:07:21 CST 2009, 3, 1st, 4.0]
2.
接口实现类
TreeSet
java.util.TreeSet
类也实现了
java.util.Set
接口。
它描述的是
Set
的一种变体,可以实现排序功能的集合。
在将对元素添加到
TreeSet
集中时会自动按照某种比较规则将其插入到有序的对象列中,以保证
TreeSet
集合元素组成的对象序列时刻按照“升序”排列。
TreeSet
的执行效率要比
HashSet
低,因为
TreeSet
是有序的集合。
例如:
import java.util.TreeSet;
import java.util.Iterator;
public class TestTreeSet{
public
static void main(String[] args) {
TreeSet
ts = new TreeSet();
ts.add("orange");
ts.add("banana");
ts.add("apple");
ts.add("grape");
Iterator
it = ts.iterator();
while(it.hasNext()){
String
fruit = (String)it.next();
System.out.println(fruit);
}
}
}
输出结果:
apple
banana
grape
orange
接口——
HashSet
和
TreeSet
作者:
zccst
1.
接口实现类
HashSet
java.util.HashSet
类实现了
java.util.Set
接口。
即
HashSet
是实现了
Set
接口的
hash table
(哈希表),描述典型的
Set
集合结构
HashSet
中不允许出现重复元素,不保证集合中元素的位置。
HashSet
中允许包含值为
null
的元素,但最多只能有一个
null
元素。
例如:
TestHashSet.java
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
public class TestHashSet{
public
static void main(String[] args) {
HashSet
h = new HashSet();
h.add("1st");
h.add("2nd");
h.add(new
Integer(3));
h.add(new
Double(4.0));
h.add("2nd");
//
重复元素
,
未被加入
h.add(new
Integer(3));
//
重复元素
,
未被加入
h.add(new
Date());
System.out.println("
开始
: size=" + h.size());
Iterator
it = h.iterator();
while(it.hasNext()){
Object
o = it.next();
System.out.println(o);
}
h.remove("2nd");
System.out.println("
移除元素后
: size=" + h.size());
System.out.println(h);
}
}
输出结果:
开始
: size=5
2nd
Sun Dec 27 19:07:21 CST 2009
3
1st
4.0
移除元素后
: size=4
[Sun Dec 27 19:07:21 CST 2009, 3, 1st, 4.0]
2.
接口实现类
TreeSet
java.util.TreeSet
类也实现了
java.util.Set
接口。
它描述的是
Set
的一种变体,可以实现排序功能的集合。
在将对元素添加到
TreeSet
集中时会自动按照某种比较规则将其插入到有序的对象列中,以保证
TreeSet
集合元素组成的对象序列时刻按照“升序”排列。
TreeSet
的执行效率要比
HashSet
低,因为
TreeSet
是有序的集合。
例如:
import java.util.TreeSet;
import java.util.Iterator;
public class TestTreeSet{
public
static void main(String[] args) {
TreeSet
ts = new TreeSet();
ts.add("orange");
ts.add("banana");
ts.add("apple");
ts.add("grape");
Iterator
it = ts.iterator();
while(it.hasNext()){
String
fruit = (String)it.next();
System.out.println(fruit);
}
}
}
输出结果:
apple
banana
grape
orange
相关文章推荐
- 小东吖 之 java Set接口 HashSet集合 TreeSet集合
- set集合 HashSet: TreeSet实现Comparable接口,覆盖compareTo方法。 类实现Comparator接口,覆盖compare方法。
- Set接口(Set接口简介、HashSet集合、TreeSet集合 )
- Set接口之HashSet、TreeSet、EnumSet
- JavaSE入门学习36:Java集合框架之Set接口及其实现类HashSet和TreeSet
- Set接口之HashSet、TreeSet、EnumSet
- Set接口下的 HashSet, LinkedHashSet, TreeSet
- Java类集--Set接口、HashSet、TreeSet、SortedSet接口
- Set接口的实现类HashSet和TreeSet的区别
- java(20130802)Set:HashSet TreeSet、Map(接口):HashTable Hashmap、比较list set map
- 【JDK源码阅读10-util】Set接口---HashSet
- 黑马程序员——第八篇-可变参数、set集合、HashSet、TreeSet
- Thinking in Java之Set接口、HashSet源码学习
- java的集合中的Set以及set的实现类HashSet和TreeSet
- Java_Set_TreeSet,HashSet
- Thinking in Java之Set接口、HashSet源码学习
- Java集合Set、Map、HashSet、HashMap、TreeSet、TreeMap等
- Java集合源码学习(10)_Set接口的实现HashSet
- [Java 13 类集合] BasicContainer, Collection, Set, HashSet, TreeSet
- java数据结构(二)——Set(HashSet,TreeSet),泛型,Map(HashMap,TreeMap,ConcurrentHashMap)