一覧<マップ<文字列、オブジェクト>>ソートコレクション

1つの インポートjava.net.SocketExceptionが。
2  インポートjava.net.UnknownHostExceptionを発行。
3  インポートはjava.util.ArrayList;
4  インポートjava.util.Collections。
5  輸入はjava.util.Comparator。
6  インポートjava.util.LinkedHashMap。
7  インポートjava.util.Listに。
8  インポートjava.util.Map;
9   
10   
11  パブリック クラスMapSort {
 12      公共 静的 ボイドメイン(文字列[]引数)がスローUnknownHostExceptionが、のSocketExceptionを{
13           
14          リスト<地図<文字列オブジェクト>> listResult = 新規のArrayList <地図<文字列オブジェクト>> ();
15          地図の<string、オブジェクト> MAP1 = 新規のLinkedHashMap <文字列オブジェクト> ();
16          map1.put( "カウント"、2 )。
17          map1.put( "名前"、 "ABC" );
18          map1.put( "キー"、 "ACV" )。
19          listResult.add(MAP1)。
20          地図の<string、オブジェクト> MAP2 = 新規のLinkedHashMap <文字列オブジェクト> ();
21          map2.put( "カウント"、3 )。
22          map2.put( "名前"、 "BBC");
23          map2.put( "キー"、 "BCV" );
24          listResult.add(MAP2)。
25          地図の<string、オブジェクト> MAP3 = 新規のLinkedHashMap <文字列オブジェクト> ();
26          map3.put( "カウント"、1 )。
27          map3.put( "名前"、 "CBC" )。
28          map3.put( "キー"、 "CCV" )。
29          listResult.add(MAP3)。
30          地図の<string、オブジェクト> MAP4 = 新規のLinkedHashMap <文字列オブジェクト> ();
31          map4.put( "カウント"、4 )。
33          map4.put( "キー"、 "CCV" )。
34          listResult.add(MAP4)。
35           
36          のSystem.out.println( "排序前:" )。
37          のために(地図の<string、オブジェクト> {:listResultマップ)
 38              のSystem.out.println( "カウント" + map.get( "カウント")+」名"+ map.get("名前")+"キー: "+ map.get("キー」));
39          }
 40           
41          Collections.sort(listResult、新しいMapComparatorDesc())。
42           
43          のSystem.out.println( "降序:" );
44          (地図<文字列、             System.out.println( "カウント:" + map.get( "カウント")+ "名: "+ map.get("名前")+"キー: "+ map.get("キー" ));
46          }
 47           
48          Collections.sort(listResult、新しいMapComparatorAsc())。
49           
50          のSystem.out.println( "升序:" );
51          のために(地図の<string、オブジェクト> {:listResultマップ)
 52              のSystem.out.println( "カウント" + map.get( "カウント")+」名"+ map.get("名前")+"キー: "+ map.get("キー」));
        コンパレータ<地図<文字列、オブジェクト>> {
 56          @Override
 57          公共 int型の比較(地図<文字列、オブジェクト> M1、地図<文字列、オブジェクト> 平方メートル){
 58              整数V1 = Integer.valueOf(m1.get( "カウント" ).toString());
59              整数V2 = Integer.valueOf(m2.get( "カウント" ).toString());
60              であれば(V2 =!NULL ){
 61                  リターンv2.compareTo(V1)。
62              }
 63              リターン 0 64          }
 65    
66      }
 67      スタティック クラス MapComparatorAsc 実装コンパレータ<地図<文字列オブジェクト>> {
 68          @Override
 69          公衆 INT比較する(地図の<string、オブジェクト> M1、地図の<string、オブジェクト> M2){
 70              整数V1 = Integer.valueOf(m1.get( "カウント" ).toStringを());
71              整数V2 = Integer.valueOf(m2.get( "カウント" ).toString());
72              であれば(V1 =!NULL ){
 73                  リターンv1.compareTo(V2)。
74              }
 75              リターン 0 76          }
 77   
78      }
 79  }
 80   
81  / * 运行结果
 82  排序前:
 83  カウント:2名:ABCキー:ACV
 84  数:3名:BBCキー:BCV
 85  カウント:1名:CBCキー:CCV
 86  数:4名: CBCキー:CCV
 87  降序:
 88  回数:4名:CBCキー:CCV
 89  数:3名:BBCキー:BCV
 90  数:2名:ABCキー:ACV
 91  のカウント:1名:CBCキー:CCV
 92  升序:
 93  カウント:1名:CBCキー:CCV
 94  数:2名:ABCキー:ACV
 95  数:3名:BBCキー:BCV
 96  数:4名:CBCキー:CCV
97  * /

順序付けられた集合、正しい符号化試験

おすすめ

転載: www.cnblogs.com/jia-0112/p/11956328.html