天天看點

HashMap、LinkedHashMap和TreeMap的執行個體驗證

三個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