集合4Map

来源:互联网 发布:acl拆分盘源码 编辑:程序博客网 时间:2024/05/22 01:52

Map

集合框架中的另一个顶层接口Map

Map集合特点:

1,是一个双列集合,Collection是单列集合。

2Map一次存一对元素,同时键值对的形式。键和值有对应关系。

   Collection是一次存一个元素。

3Map集合必须要保证集合中键的唯一性。

 

 

Collection 是单身汗,Map集合存的是夫妻。

 

 

Map集合中常见的功能:

1,添加。

V put(k v):kv作为元素存储如map集合,当存入了相同的k时,

新的值会覆盖原来的值,并返回原来的值。

void putAll(map);

 

2,删除。

clear();

v remove(k):按照键删除,返回被删除的键对应的值。

 

 

3,判断。

boolean containsKey(Object key) 

boolean containsValue(Object value);

boolean isEmpty();

 

4,获取。

int size():获取map集合的元素个数。

v get(k): 通过键获取值。还可以作为判断某一个键是否存在的依据。

Collection values():获取map集合中所有的值。

Set keySet():获取map集合中所有的键。

Set entrySet():获取的是键值的映射的关系。将映射关系封装成对象存入到了Set集合。

 

 

Map集合居然没有迭代器。

是的。迭代器是Collection集合具备的。

Map集合的取出元素的原理:就是将Map集合先转成Set集合,再进行迭代。

 

 

Map

|--Hashtable:底层是哈希表数据结构。是同步的。不允许null作为键,null作为值。

|--Properties:用于配置文件的定义和操作,使用频率非常高,同时键和值都是字符串。

  是集合中可以和IO技术相结合的对象。 到了IO在学习它的特有和io相关的功能。

 

|--HashMap:底层也是哈希表数据结构。是不同步的。允许null作为键,null作为值。替代了Hashtable.

|--LinkedHashMap: 可以保证HashMap集合有序。存入的顺序和取出的顺序一致。

 

|--TreeMap:可以用来对Map集合中的键进行排序

 

有一堆元素。

需要唯一不?不需要。选择List集合。

需要增删吗?不需要,选择ArrayList

 

但是想要让元素按指定顺序排序。

 

这时就可以考虑使用集合框架的工具类,来完成,

看看工具类中是否有方法可以完成搞定。

 

工具类有两个。

Collections

Arrays

 

这两个工具类的特点:类中的方法都是静态的。不需要创建对象,直接使用类名调用即可。

 

Collections:是集合对象的工具类。提供了操作集合的工具方法。

Arrays:是数组的工具类,提供了对数组的工具方法。

 

 

Collections:

List synchronizedList(List):可以将一个不同步的list集合转成一个同步的list集合。

XXX synchroizedXXX(XXX):将非同步的集合变成同步集合的方法。

 

 

0 0