关于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