天天看点

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