HashMap 変数 = new HashMap();この他にもいくつかコンストラクタはありますが、これだけ覚えておけばいいでしょう。続いて、その他のメソッドについてです。
《HashMap》.put( キー , 値 );値の追加は、addではなく「put」というメソッドとして用意されています。引数には、キーとなる値と、それに設定する値の2つを用意します。これで、指定されたキーに値が保管されます。
Object 変数 = 《HashMap》.get( キー );値の取得は、「get」で行います。引数にキーを指定すると、そのキーに保管されている値が返されます。これはObjectインスタンスにキャストされているので、必要に応じて元のクラスに戻して使います。また、HashMapから保管されている値を削除するには「remove」を使います。これも引数にキーを指定すると、そのキーと、そのキーに保管されている値がとりのぞかれます。
《HashMap》.reove( 値 );
Collection] 変数 = 《HashMap》.values();HashMapに保管されている値だけをまとめて取り出したい時に利用します。返り値は、「Collection」というクラスのインスタンスになります。これは、ArrayListやHashSet、HashMapなどのコレクションクラスのスーパークラスとなるものです。ここからforなどを使って順に値を取り出し処理できるようになっています。
Set 変数 = 《HashMap》.keySet();こちらは、保管されているキーをまとめて取り出すものです。返り値は「Set」インスタンスになります。Setというのは、HashSetの元になるもので、たくさんの値をまとめる集合です。これですべてのキーをまとめて取り出し、forなどを使って順に処理することができます。
Set 変数 = 《HashMap》.entrySet();HashMapに保管されている全要素を処理したりするのに利用します。これは保管されている全要素を、「Map.Entry」というクラスのインスタンスをSetでまとめたものとして取り出します。Map.Entryというのは、先ほど触れたように、キーと値を組にして保管するクラスでしたね。これでSetを取り出し、forでそこから順にMap.Entryを取り出して処理することができます。
int 変数 = 《HahsMap》.size();保管されている値の数を得るものです。これは既に登場したのでわかりますね。
for(Object obj : map.entrySet()){……略……}entrySetで、Map.EntryをまとめたSetを取り出し、forでそこから順番にオブジェクトを取り出しています。取り出したオブジェクトは、Map.Entryインスタンスに戻してから、そのキーと値を取り出しています。
Map.Entry entry = (Map.Entry)obj;Map.Entryクラスは、キーと値をセットにしたものです。保管されているキーと値は、それぞれ「getKey」「getValue」でとり出すことができます。後は、それをもとに値を表示するだけですね。
System.out.println(entry.getKey() + ": " + entry.getValue());
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
import java.util.*; public class TestApp { public static void main(String[] args) { HashMap map = new HashMap(); map.put("国語", 98); map.put("算数", 79); map.put("理科", 65); map.put("社会", 82); for(Object obj : map.entrySet()){ Map.Entry entry = (Map.Entry)obj; System.out.println(entry.getKey() + ": " + entry.getValue()); } } }
<< 前へ | 次へ >> |