關於HashMap中KEY的有序排列的反思和總結(對應TreeMap)


今天在做練習的時候,突然發現一個規律,如下,當然可愛的JDK已經給我們提供了TreeMap來對KEY排序整合,但是對於簡單的key排序,也可以通過HashMap的key來排,但前提必須是一個字符的數字或字母。廢話不多說,上代碼。

對HashMap,key為其他字符的測試
顯示多字符串:寫入,讀取,無序
單字符:寫入無序,讀取按照key順序排列
單數字:寫入無序,讀取按照key順序排列


import java.util.HashMap;
public class Test08 {
public static void main(String[] args) {

        test1();
       test2();
       test3();
    }

    /*
        單數字:寫入無序,讀取按照key順序排列
     */
    private static void test3() {
        //1.創建一個HashMap集合對象,可以:存儲每行文本的序號(1,2,3,..);value:存儲每行的文本
        HashMap<String,String> map = new HashMap<>();
        map.put("3","gopfm");
        map.put("2","dfkgjdk");
        map.put("4","xviou");
        map.put("1","dfiug");

        for(String key : map.keySet()){
            System.out.println(key);
            String value = map.get(key);//集合中的key是有序而且唯一
        }
    }

    /*
        單字符:寫入無序,讀取按照key順序排列
     */

    private static void test2() {
        //1.創建一個HashMap集合對象,可以:存儲每行文本的序號(1,2,3,..);value:存儲每行的文本
        HashMap<String,String> map = new HashMap<>();
        map.put("c","gopfm");
        map.put("a","dfkgjdk");
        map.put("b","xviou");
        map.put("d","dfiug");

        for(String key : map.keySet()){
            System.out.println(key);
            String value = map.get(key);//集合中的key是有序而且唯一
        }
    }

    /*
        顯示多字符串:寫入,讀取,無序
     */
    private static void test1() {
        //1.創建一個HashMap集合對象,可以:存儲每行文本的序號(1,2,3,..);value:存儲每行的文本
        HashMap<String,String> map = new HashMap<>();
        map.put("casd","gopfm");
        map.put("aas","dfkgjdk");
        map.put("bzxc","xviou");
        map.put("dwqeqw","dfiug");

        for(String key : map.keySet()){
            System.out.println(key);
            String value = map.get(key);//集合中的key是有序而且唯一
        }

    }
}

因為是新手,所以有些想的還不是很周全,所以看到這篇文章的大佬們還請多多提下寶貴意見。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM