本文介绍了java初学者:键如何在hashmaps中排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是java的新手,正在学习hashmaps的概念。

我很困惑键是如何在hashmaps中排序的。
我明白它基于字符串长度。
但是我很困惑数据在字符串长度是相同的时候是如何排序的。

  import java.util.HashMap; 
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class HashMapExample
{

public static void main(String args [])
{
Map< String,String> map = new HashMap< String,String>(20); //指定用于查找散列码的类型。


//将值添加到HashMap
map.put(key value a,test value 1);
map.put(key value b,test value 2);
map.put(key value c,test value 3);

System.out.println(从HashMap中检索值);
retrieveValuesFromListMethod(map);
System.out.println(**********************);



$ b $ *此方法从Map
* /
中检索值public static void retrieveValuesFromListMethod(Map map)
{
Set keys = map.keySet();
Iterator itr = keys.iterator();

字符串键;
字符串值; $(b)b
while(itr.hasNext())
{
key =(String)itr.next();
value =(String)map.get(key);
System.out.println(key + - + value);
}
}
}

这是我的代码。



输出是

 从HashMap中检索值
键值c-测试值3
键值b-测试值2
键值a-测试值1
******************* ***

而不是a,b,c如果我给aa,ab,ac输出是不同的
$ b $ pre $ 从HashMap中检索值
键值ab - 测试值2
键值aa - 测试值1
键值ac - 测试值3
**********************

p>

for 1,2,3

 检索值从HashMap 
键值1 - 测试值1
键值2 - 测试值2
键值3 - 测试值3
*********** ***********

在hashmap中如何排序?请帮助!!



预先致谢。

解决方案


i am new to java and was learning the concepts of hashmaps.

I am confused how the keys are sorted in hashmaps.i understood that its based on string length.but i am confused how data is sorted when the string length is same.

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class HashMapExample
{

    public static void main(String args[])
    {
        Map<String,String> map = new HashMap<String,String>(20);//SPECIFYING THE TYPE FOR FINDING HASH CODES.


        //Adding values to the HashMap
        map.put("key value a", "test value 1");
        map.put("key value b", "test value 2");
        map.put("key value c", "test value 3");

        System.out.println("Retrieving values from HashMap");
        retrieveValuesFromListMethod(map);
        System.out.println("**********************");


    }

    /*This method retrieves values from Map
     */
    public static void retrieveValuesFromListMethod(Map map)
    {
        Set keys = map.keySet();
        Iterator itr = keys.iterator();

        String key;
        String value;

        while(itr.hasNext())
        {
            key = (String)itr.next();
            value = (String)map.get(key);
            System.out.println(key + " - "+ value); 
        }
    }
}

this is my code.

output is

Retrieving values from HashMap
key value c- test value 3
key value b- test value 2
key value a- test value 1
**********************

but instead of a,b,c if i give aa,ab,ac the output is different

Retrieving values from HashMap
key value ab - test value 2
key value aa - test value 1
key value ac - test value 3
**********************

for 1,2,3

Retrieving values from HashMap
key value 1 - test value 1
key value 2 - test value 2
key value 3 - test value 3
**********************

how sorting is done in hashmap? Please help!!

Thanks in advance.

解决方案

这篇关于java初学者:键如何在hashmaps中排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-21 05:52