您的位置:首页 > 编程语言 > Java开发

Java Collection: List、Set、 Map、 HashMap、 Hashtable、 Vector

2012-09-17 09:54 495 查看
List、Set、 Map、 HashMap、 Hashtable、 Vector

Collection 接口:在一般开发中为了清楚的表现处理数据的存放往往不直接使用 Collection 接口

· 子接口:List

· 子接口:Set

List 既然是一个接口,则要使用必须依靠子类 -> ArrayList

如果要使用 list,则格式为:List l = new ArrayList() ;

★List 和 Set 的区别:

1. List - 元素的序列, Set - 没有重复元素的类集

2. Set 的基本使用与 List 一致,但是 HashSet子类存放时是无序的(散列存放)

3. 元素重复和顺序的区别:

· List 中的数据允许重复元素,重复元素保留下来

· Set 中的数据不允许有重复元素,重复元素被替换掉 // 重复元素被覆盖,只留一个

在 Set 中如果使用 HashSet则属于散列的无序的存放,如果希望有序存放使用 TreeSet子类。靠的是 Comparable 接口排序

----------------------------------
★Map:

保存一对值(Map):

|- HashMap:异步处理,新的类

|- Hashtable:同步处理,旧的类

|- TreeMap:按 KEY进行排序的集合

元素为二元偶对的汇集,不能重复

每次存放一对值:key -> value

Map的主要功能是作为查找使用,而不是作为输出使用。 (Map for search data)

*存数据的方法:

- put(Object key,Object value)

*取内容(根据 key取):

-cObject get(Object key)

Map 接口的对象不能直接使用 Iterator输出

如果非要使用 Iterator输出 Map 接口对象的内容,必须使用以下的步骤:
Map —> Set -> Iterator -> Map.Entry -> key、values

----------------------------------
★HashMap类

- HashMap类使用散列表实现Map接口

- HashMap是一种映射类(key->value: 键值对)

----------------------------------
★Hashtable

- 与HashMap相似,但Hashtable是同步的

- 采用映射的方式(key->value: 键值对)

- Hashtable不支持迭代函数

Properties类

- Properties类是Hashtable类的子类(Hashtable <- Properties)

- 用来保持值的列表

------------------
☆属性类 -Properties

(Properties -> String; Hashtable -> Object)

与 hashtable不同的是,Properties 类主要是保存字符串的,而 Hashtable 是保存对象的。

- setProperty(String key, String value)

- getProperty(String key)

----------------------------------
★TreeMap类 (按 KEY 进行排序)

- TreeMap类可以对数据进行排序

- 可以快速检索

----------------------------------
★Vector类

|- List:允许有重复元素

|- ArrayList:异步处理,新的类,只能用 Iterator输出

|- Vector:同步处理,旧的类,能用 Iterator和 Enumeration 同时输出

List 和 Set 都不能使用 Enumeration 输出

而 List 的另外一个子类:Vector可以使用 Enumeration 输出

Vector类

- Vector实现动态数组

- Vector是同步的

----------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐