<pre>
import java.util.*;public class LinkedHashMapDemo {
public static void main(String[] args) {
String[][] str={
{"Kobe","Bryant"},
{"Tracy","McGrady"},
{"Allen","Iverson"},
{"Dwyne","Wade"},
{"Kevin","Garnett"},
};
Map<String,String> linkedMap = new LinkedHashMap<String,String>();
for(int i = 0 ; i < str.length ; i++){
linkedMap.put(str[i][0],str[i][1]);
}
System.out.println(linkedMap);
// Least-recently used order:
linkedMap = new LinkedHashMap<String,String>(16, 0.75f,true);
//为什么这里这样定义LinkedHashMap就会自动用LRU算法?
for(int i = 0 ; i < str.length ; i++){
linkedMap.put(str[i][0],str[i][1]);
}
System.out.println(linkedMap);
for(int i = 0; i < 3; i++) // Cause accesses:
linkedMap.get(str[i][0]);
System.out.println(linkedMap);
linkedMap.get("Tracy");
System.out.println(linkedMap);
}
}
</pre>
这是输出结果:
{Kobe=Bryant, Tracy=McGrady, Allen=Iverson, Dwyne=Wade, Kevin=Garnett}
{Kobe=Bryant, Tracy=McGrady, Allen=Iverson, Dwyne=Wade, Kevin=Garnett}
{Dwyne=Wade, Kevin=Garnett, Kobe=Bryant, Tracy=McGrady, Allen=Iverson}
{Dwyne=Wade, Kevin=Garnett, Kobe=Bryant, Allen=Iverson, Tracy=McGrady}
import java.util.*;public class LinkedHashMapDemo {
public static void main(String[] args) {
String[][] str={
{"Kobe","Bryant"},
{"Tracy","McGrady"},
{"Allen","Iverson"},
{"Dwyne","Wade"},
{"Kevin","Garnett"},
};
Map<String,String> linkedMap = new LinkedHashMap<String,String>();
for(int i = 0 ; i < str.length ; i++){
linkedMap.put(str[i][0],str[i][1]);
}
System.out.println(linkedMap);
// Least-recently used order:
linkedMap = new LinkedHashMap<String,String>(16, 0.75f,true);
//为什么这里这样定义LinkedHashMap就会自动用LRU算法?
for(int i = 0 ; i < str.length ; i++){
linkedMap.put(str[i][0],str[i][1]);
}
System.out.println(linkedMap);
for(int i = 0; i < 3; i++) // Cause accesses:
linkedMap.get(str[i][0]);
System.out.println(linkedMap);
linkedMap.get("Tracy");
System.out.println(linkedMap);
}
}
</pre>
这是输出结果:
{Kobe=Bryant, Tracy=McGrady, Allen=Iverson, Dwyne=Wade, Kevin=Garnett}
{Kobe=Bryant, Tracy=McGrady, Allen=Iverson, Dwyne=Wade, Kevin=Garnett}
{Dwyne=Wade, Kevin=Garnett, Kobe=Bryant, Tracy=McGrady, Allen=Iverson}
{Dwyne=Wade, Kevin=Garnett, Kobe=Bryant, Allen=Iverson, Tracy=McGrady}
LinkedHashMap
public LinkedHashMap(int initialCapacity,float loadFactor,boolean accessOrder)
构造一个带指定初始容量、加载因子和排序模式的空 LinkedHashMap 实例。 参数:
initialCapacity - 初始容量。
loadFactor - 加载因子。
accessOrder - 排序模式 - 对于访问顺序,为 true;对于插入顺序,则为 false。