您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: