Map 之排序

 

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

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值