import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class TestMap {
public static void testHashMap(){
}
public static void main(String[] args) {
System.out.println("Test The HashMap ");
String str = "我,爱,中,华,人,民,共,和,国";
Map<String, String> testMap = new HashMap<String, String>();
String strArr[] = str.split(",");
int number = 0;
for(String s : strArr){
number ++;
testMap.put(s, s+ number);
}
System.out.println("HashMap 排序如下:");
Set<String> keys = testMap.keySet();
for(String key : keys){
System.out.println("key:"+key+"===>value:"+testMap.get(key));
}
//显示结果如下:
Test The HashMap
HashMap 排序如下:
key:民===>value:民6
key:国===>value:国9
key:华===>value:华4
key:和===>value:和8
key:人===>value:人5
key:中===>value:中3
key:我===>value:我1
key:共===>value:共7
key:爱===>value:爱2
//可见 HashMap 是不会自动按我们put的顺序进行排序的
//那要是我们有一种要求恰恰需要按put的顺序来进行排序该怎么办呢?
//答案如下:使用 LinkedHashMap
Map<String, String> testSortedMap = new LinkedHashMap<String, String>();
number = 0;
for(String s : strArr){
number ++;
testSortedMap.put(s, s+ number);
}
System.out.println("LinkedHashMap 排序如下:");
Set<String> keys2 = testSortedMap.keySet();
for(String key2 : keys2){
System.out.println("key:"+key2+"===>value:"+testSortedMap.get(key2));
} }
//显示结理如下:
LinkedHashMap 排序如下:
key:我===>value:我1
key:爱===>value:爱2
key:中===>value:中3
key:华===>value:华4
key:人===>value:人5
key:民===>value:民6
key:共===>value:共7
key:和===>value:和8
key:国===>value:国9
}