我是java新手,正在学习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);//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);
}
}
}
这是我的代码。
输出是
Retrieving values from HashMap
key value c- test value 3
key value b- test value 2
key value a- test value 1
**********************
但是如果我给出 aa,ab,ac 而不是 a,b,c 输出是不同的
Retrieving values from HashMap
key value ab - test value 2
key value aa - test value 1
key value ac - test value 3
**********************
对于 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
**********************
hashmap是怎么排序的?请帮忙!!
提前致谢。