集合(22):Map接口的子类----LinkedHashMap类
LinkedHashMap类概述
Map接口的哈希表和链接列表实现,具有可预知的迭代顺序
哈希表保证元素的唯一,保证的是key的唯一;
链表保证的是有序,存储和取出的顺序一致
案例:
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
/*
LinkedHashMap:
public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>
哈希表和链表实现的Map接口,具有可预测的迭代次序。
哈希表保证元素的唯一,保证的是key的唯一
链表保证的是有序,存储和取出的顺序一致。
*/
public class LinkedHashMapDemo {
public static void main(String[] args) {
LinkedHashMap<String, String> linkedMap = new LinkedHashMap<>();
//添加元素到集合中
linkedMap.put("3213", "hello");
linkedMap.put("1234", "world");
linkedMap.put("3456", "java");//key重复,value不重复
linkedMap.put("1234", "hadoop");//key重复,value不重复
linkedMap.put("3456", "spark");//key重复,value不重复
linkedMap.put("4567", "hello");//key不重复,value重复
//遍历
Set<Map.Entry<String, String>> entries = linkedMap.entrySet();
for (Map.Entry<String, String> kv : entries) {
String key = kv.getKey();
String value = kv.getValue();
System.out.println(key + "---" + value);
}
}
}
执行结果如下:
3213---hello
1234---hadoop
3456---spark
4567---hello
Process finished with exit code 0