1、概述:
1)Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序
2)此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插
入顺序)。注意,如果在映射中重新插入 键,则插入顺序不受影响。
3)(如果在调用 m.put(k, v) 前 m.containsKey(k) 返回了 true,则调用时会将键
k 重新插入到映射 m 中。)
4) 如果模块通过输入得到一个映射,复制这个映射,然后返回由此副本确定其顺
序的结果,这种情况下这项技术特别有用
5)可以重写 removeEldestEntry(Map.Entry) 方法来实施策略,以便在将新映射关
系添加到映射时自动移除旧的映射关系。
6)注意,此实现不是同步的
2、代码表述
package LinkedHashMap;
import java.util.LinkedHashMap;
import java.util.Set;
/*
* Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序
* 此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。注意,如果在映射中重新插入 键,则插入顺序不受影响。
* (如果在调用 m.put(k, v) 前 m.containsKey(k) 返回了 true,则调用时会将键 k 重新插入到映射 m 中。)
* 如果模块通过输入得到一个映射,复制这个映射,然后返回由此副本确定其顺序的结果,这种情况下这项技术特别有用
可以重写 removeEldestEntry(Map.Entry) 方法来实施策略,以便在将新映射关系添加到映射时自动移除旧的映射关系。
注意,此实现不是同步的
*
* */
public class LinkedHashMap_method {
public static void main(String[] args) {
//创建LinkedHashMap集合
LinkedHashMap<String,String>map=newLinkedHashMap<String,String>();
//向集合中添加元素
map.put("hello", "你好");
map.put("shut up", "闭嘴");
map.put("OK", "好的");
map.put("got out", "出去");
map.put("hello", "你好");
map.put("hello", "好");
//加入Set集合
Set<String>set = map.keySet();
//遍历
for(String Key : set){
//通过键找值
String Value = map.get(Key);
//输出
System.out.println(Key+"---"+Value);
/*输出:
* hello---好 --------------- hello---好覆盖替换了 hello----你好 相同的键输出最后一个键的Value;
shut up---闭嘴
OK---好的
got out---出去
*
* */
}
}
}