/*
* java.util.Map<K,V>接口:双列集合
*
* Map集合的特点:
* 1.健不能重复,但是值可以重复
* 2.一个健只能对应一个值
* 3.健和值的泛型的数据类型可以一致,也可以不一致
* 4.为了保证健不重复,健中必须重写hashCode和equals方法
* 5.Map集合是一个无序的集合
* java.util.Map<K,V>接口:双列集合
*
* Map集合的特点:
* 1.健不能重复,但是值可以重复
* 2.一个健只能对应一个值
* 3.健和值的泛型的数据类型可以一致,也可以不一致
* 4.为了保证健不重复,健中必须重写hashCode和equals方法
* 5.Map集合是一个无序的集合
*/
①HashMap:底层是哈希表,内部存储无序。
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
//获取key和value有两种方法
1、Set<String> keySet = map.keySet();
for (String str : keySet) {
System.out.println(str + map.get(str));
}
2、Set<Entry<String, String>> set = map.entrySet();
for (Entry<String, String> entry : set) {
System.out.println(entry.getKey() + entry.getValue());
}
②LinkedHashMap:底层是哈希表和链表结构,双向链表可以实现迭代的顺序。
③Hashtable:底层的结构是哈希表,但是是安全线程运行速度略慢,且key和value都不能为null!