三個Map接口的常見實作類HashMap、LinkedHashMap和TreeMap
1.HashMap
無序存儲,周遊之後的順序并一定是存儲順序
2.LinkedHashMap
有序存儲,周遊之後的順序是存儲時的順序,因為是使用連結清單的原理進行的存儲
3.TreeMap
自動排序,按照key進行自動排序,使用二叉樹儲存
下面是他們的代碼
1.HashMap
public class test {
public static void main(String[] args) {
Map map1 = new HashMap<Integer, String>();
map1.put(1, "1");
map1.put(2, "2");
map1.put(3, "3");
map1.put(44, "44");
map1.put(6, "6");
map1.put(333, "333");
map1.put(7, "7");
map1.put(33, "33");
Set<Map.Entry<Integer,String>> entrySet = map1.entrySet();
Iterator<Map.Entry<Integer, String>> iterator = entrySet.iterator();
while(iterator.hasNext()){
Entry entry = iterator.next();
System.out.println(entry.getKey()+","+entry.getValue());
}
}
}
控制台輸出:
1,1
33,33
2,2
3,3
6,6
7,7
44,44
333,333
2.LinkedHashMap
public class test {
public static void main(String[] args) {
Map map1 = new LinkedHashMap<Integer, String>();
map1.put(1, "1");
map1.put(2, "2");
map1.put(3, "3");
map1.put(44, "44");
map1.put(6, "6");
map1.put(333, "333");
map1.put(7, "7");
map1.put(33, "33");
Set<Map.Entry<Integer,String>> entrySet = map1.entrySet();
Iterator<Map.Entry<Integer, String>> iterator = entrySet.iterator();
while(iterator.hasNext()){
Entry entry = iterator.next();
System.out.println(entry.getKey()+","+entry.getValue());
}
}
}
控制台輸出:
1,1
2,2
3,3
44,44
6,6
333,333
7,7
33,33
3.TreeMap
public class test {
public static void main(String[] args) {
Map map1 = new TreeMap<Integer, String>();
map1.put(1, "1");
map1.put(2, "2");
map1.put(3, "3");
map1.put(44, "44");
map1.put(6, "6");
map1.put(333, "333");
map1.put(7, "7");
map1.put(33, "33");
Set<Map.Entry<Integer,String>> entrySet = map1.entrySet();
Iterator<Map.Entry<Integer, String>> iterator = entrySet.iterator();
while(iterator.hasNext()){
Entry entry = iterator.next();
System.out.println(entry.getKey()+","+entry.getValue());
}
}
}
控制台輸出:
1,1
2,2
3,3
6,6
7,7
33,33
44,44
333,333