Map集合的特点:
1,Map 集合是一个双列集合,Collection是单列集合。
2,Map 一次存一对元素,通过键值对的形式,键和值有对应关系。Colletion是一次存一个元素
3,Map集合必须要保证集合中键的唯一性。不保证元素的唯一性获取就会出问题。
(Collection 是单身汉,Map是一对夫妻。)
Map集合中常见的功能:
1,增加:
V put(K key,V value):将k和v做为元素存储如mop集合,当存入了相同的k时,
新的值会覆盖原来的值,并返回原来的值。
void putAll(Map<?extends K,? extends V> m): 将一个集合存到Map集合中。
2,删除:
Clear();
v remove(k):按照键删除,返回被删除的健对应的值。
3,判断:
boolend containsKey(Object key)
boolend containsValue(Object value)
isEmputy();
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技术向结合的对象。
--HashMap:底层也是哈希表数据结构,是不同步的。允许null,null作为值。替代了Hashtable
。
-LinkedHashMap:次子类提供了以个可以让存储的数据有序。
--TreeMap:可以用来对Map集合中的键进行排序。
Map<String, String> userMap = u.getMap();
// method A
Set<String> keys = userMap.keySet();
System.out.println("map test: ");
for (String name : keys) {
String qq = userMap.get(name);
System.out.println(name + "..." + qq);
}
// method B
Set<Entry<String, String>> entrySet = userMap.entrySet();
Iterator<Entry<String, String>> iterator = entrySet.iterator();
while (iterator.hasNext()) {
Entry<String, String> entry = iterator.next();
String key = entry.getKey();
String value = entry.getValue();
String name = key;
String qq = value;
System.out.println(name + ":" + qq);
}
--------------------------
见到Treexx的放集合就要想到Comparable接口下的ComparaTo方法,自定义存储要覆盖次方法。
Comparable
-ComputerTo
-----------------------------
工具类:
1,Collections:是集合对象的工具。提供了操作集合的工具方法。、
2,Array:是数组的工具类,提供了对数组的工具方法。
两个工具类的特点:类中的方法否是静态的,不需要创建对象,直接使用类名调用即可。