HashMapのキーは、学生の文字列値がケースである
、())(等号をキーオブジェクトのハッシュコードを書き換える必要があるので、キーは、確かに矛盾している、書き換えられていない場合、キーは、学生で
取るためにどのように、どのようにそれを行うにされ、リストの一番下のLinkedHashMap
のTreeMapの
だった自己のキーをオブジェクトを定義し、オブジェクトはの機能比較を持っている必要があります
パブリック クラスdemon7_hashmapHashMap { / * * HashMapをネスト *キー値の学生生徒の家庭の *キーは、複数のクラスですクラス番号クラスの値です * / パブリック 静的な 無効メイン(文字列[] args)を{ のHashMap <学生、文字列> = HM1 新しい新しい HashMapの<> (); hm1.put(新新学生( "ジョー・スミス"、23)、 "北京" ); hm1.put(新新学生( "ジョン・ドウ"、24)、 "北京" ); HM1 .put(新新学生( "5の王"、25)、 "上海" ); hm1.put(新新学生( "趙劉、" 26)、 "カントン" ); //System.out.println(HM1)。 HashMapの <学生、文字列> HM2 = 新しい HashMapの<> (); hm2.put(新学生( "唐僧"、1023年)、 "北京" )。 hm2.put(新学生( "悟空"、1024年)、 "北京" )。 hm2.put(新学生( "八戒"、1025年)、 "上海" )。 hm2.put(新学生( "沙僧"、926)、 "广州" ); // するSystem.out.println(HM2)。 HashMapの <HashMapの<学生、文字列>、整数>グレード= 新しい HashMapの<> ();89 ); 用(HashMapの<学生、文字列> HM:grade.keySet()){ 整数値 = grade.get(HM)。 用(学生S:hm.keySet()){ 文字列ADDR = hm.get(S)。 System.out.println(S + "..." + ADDR + "..." + 値)。 } } } }
パブリック クラスTEST1 { / * 需要*は:文字列内の文字の各発生のための統計の数 * / パブリック 静的 ボイドメイン(文字列[]引数){ 文字列STR = "aaaabbbccccccccccが" ; char型 [] = ARR str.toCharArray()。 HashMapの <文字、整数> HM = 新しい新規のHashMap <> (); のため(チャーC:ARR){ / * (!hm.containsKey(C))IF { hm.put(C ,. 1); }他{ HM。 PUT(C、hm.get(C)+ +1); } / * hm.put(C、 !?hm.containsKey(c)の1:hm.get(C)+1 ); } のために(文字キー:hm.keySet()){ System.out.printlnは(キー + "=" + hm.get(キー))。 } のSystem.out.println(hm.get( 'A' )); } }
パブリック クラスtest2_dizhu2 { 公共 静的 ボイドメイン(文字列[]引数){ 文字列[] NUM = { "3"、 "4"、 "5"、 "6"、 "7"、 "8"、 "9"、」 10" 、 "J"、 "Q"、 "K"、 "A"、 "2" }。 文字列[]色 = { "红"、 "黑"、 "梅"、 "花" }。 HashMapの <整数、文字列> HM = 新しい HashMapの<>(); // 存贮索引和牌 のArrayList <Integer型>リスト= 新しい ArrayListを<>(); // 存索引 int型のインデックス= 0 ; hm.put(インデックス、s1.concat(S2)); List.add(インデックス); インデックス ++ ; } } hm.put(索引、 "王" ); List.add(インデックス); インデックス ++ ; hm.put(インデックス、 "王" ); List.add(インデックス); Collections.shuffle(一覧); //ランダムにスクランブル、シャッフル同等 TreeSetの gaojin = <整数> 新しい新しい TreeSetの<> (); TreeSetの <整数> = longwu 新しい新しい TreeSetの<> (); TreeSetの <整数>私= 新しいですTreeSetの<>(); TreeSetの <整数> dipai = 新しい TreeSetの<> (); 以下のために(int型 i = 0; iは<)(はlist.sizeと、iは++){ // 发牌存牌的索引 場合(I> =はlist.size() - 3 ){ dipai.add(list.get(I) ); } そう であれば(私%3 == 0 ){ gaojin.add(list.get(I))。 } そう であれば(私%3 == 1 ){ longwu.add(list.get(I))。 } 他{ me.add(list.get(I))。 } } println(); } }
"A"、 "2" }。 文字列[]色 = { "ハート"、 "スペード"、 "シート側"、 "PLUM" }; のHashMap <整数、文字列> HM = 新しい新規のHashMap <>(); // インデックスカードを格納し、 ArrayListの<整数>リスト= 新しい新規のArrayList <>(); // 格納インデックス int型のインデックス= 0 ; // インデックスおよびHMに格納されたスプライスカードとカード のために(文字列S1:NUM){ // 番号を取得 するために(文字列S2:カラー){ // 色の取得 hm.put(インデックス、s2.concat(S1)); List.add(インデックス); //0から51のインデックスリストのセットに追加 インデックス++ ; } } // ワンセット複列に追加 hm.put(索引、「王」); List.add(インデックス); // 52インデックスを追加コレクションに インデックス++ ; hm.put(インデックス、 "王" ); List.add(インデックス); // コレクション・インデックス53に追加する // 2、シャッフル Collections.shuffle(一覧); // 3を、髪ブランド TreeSetのgaojin = <整数> 新しい新しい TreeSetの<> (); TreeSetの<整数> longwu = 新しい TreeSetの<> (); TreeSetの <整数>私= 新しい TreeSetの<> (); TreeSetの <整数> dipai = 新しい TreeSetの<> (); 以下のために(int型 i = 0; iが<)(はlist.sizeと、iは++ ){ 場合(I> =はlist.size() - 3 ){ dipai.add(list.get(I))。 // 将三张底牌存储在底牌集合中 } そう であれば(私%3 == 0 ){ gaojin.add(list.get(I))。 } そう であれば(私%3 == 1){ Longwu.add(List.get(I)); } 他{ me.add(List.get(I)); } } // カード読み取り lookPoker(HM、gaojinを、 "ハイに" ); lookPoker(HM 、longwu、 "ロング5" ); lookPoker(HMは、Meは、 "XXX" ); lookPoker(HMは、dipai、 "カード" ); } / * *カード読み取り ボイド* 1、戻り型 * 2を、パラメータリストのHashMap 、TreeSetの、文字列の名前 * / パブリック 静的 ボイド lookPoker(HashMapの<整数、文字列> HM、TreeSetの<整数> TS、文字列名){ System.out.printの(名前 + "カードは次のとおりです。" ); のため(整数I:TS){ // 私は列の各二重結合セット表す System.out.print(hm.get(I)+を」 " ); } のSystem.out.println(); } }