HashMap,TreeMap以及LinkedHashMap应用实例

时间:2023-01-01 19:16:13

在平常的工作场景下,也许我们有这样的需求场景:可能需要MAP中的key按照我们插入的顺序输出,可能需要MAP的key进行排序后输出,可能对输出的顺序无所谓,下面不多说,直接上实例:

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class MapTest {
    public static void main(String[] args) {
        Map<String,String> testHashMap = new HashMap<String,String>();
        testHashMap.put("2", "11");
        testHashMap.put("1", "22");
        testHashMap.put("6", "33");
        testHashMap.put("4", "44");
        testHashMap.put("3", "33");
        testHashMap.put("9", "44");
        testHashMap.put("8", "33");
        testHashMap.put("7", "44");
        Set<String> testHashSet = testHashMap.keySet();
        System.out.println("---随机输出---");
        for(String strHash : testHashSet){
            System.out.println(strHash + "-" + testHashMap.get(strHash));
        }

        Map<String,String> testTreeMap = new TreeMap<String,String>();
        testTreeMap.put("2", "11");
        testTreeMap.put("1", "22");
        testTreeMap.put("6", "33");
        testTreeMap.put("4", "44");
        Set<String> testTreeSet = testTreeMap.keySet();
        System.out.println("---排序输出---");
        for(String strTree : testTreeSet){
            System.out.println(strTree + "-" + testTreeMap.get(strTree));
        }
        
        Map<String,String> testLinkedHashMap = new LinkedHashMap<String,String>();
        testLinkedHashMap.put("2", "11");
        testLinkedHashMap.put("1", "22");
        testLinkedHashMap.put("6", "33");
        testLinkedHashMap.put("4", "44");
        Set<String> testLinkedHashSet = testLinkedHashMap.keySet();
        System.out.println("---按插入顺序输出---");
        for(String strLinkedHash : testLinkedHashSet){
            System.out.println(strLinkedHash + "-" + testLinkedHashMap.get(strLinkedHash));
        }
    }
}

输出内容如下:

---随机输出---
3-33
2-11
1-22
7-44
6-33
4-44
9-44
8-33
---排序输出---
1-22
2-11
4-44
6-33
---按插入顺序输出---
2-11
1-22
6-33
4-44