HashMapクラス
連想配列と呼ばれるもの。連想配列はキーと値の組み合わせ(この組み合わせをエントリという)を利用して要素を格納し登録する。
では、HashMapクラスを使ってキーと値を入れたりいろいろやってみる。
HashMapSample.java
import java.util.HashMap;
public class HashMapSample{
public static void main(String[] args){
HashMap<String,String> hashmap = new HashMap<String,String>();
hashmap.put("Hadoop","Java"); //キー、値をhashmapに格納
hashmap.put("Spark","Scala");
hashmap.put("Kafka","Java");
System.out.println(hashmap);
if(hashmap.containsKey("Hadoop")){
System.out.println("Hadoop!!");
System.out.println(hashmap.get("Hadoop"));
}
}
}
実行結果は
{Hadoop=Java, Kafka=Java, Spark=Scala}
Hadoop!!
Java
となり、キー=値として格納されていることが確認。
putメソッド
キーと値をHashMapに格納する。
containsKeyメソッド
指定したキーがHashMap内にあればその値を返す。
Map.Entryインタフェース
マップのエントリをもつもの。マップのエントリへの参照を取得するにはイテレータを使って取得する。
MapEntrySample.java
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.WeakHashMap;
public class EntrySample{
public static void main(String[] args){
HashMap<String,String> hashmap = new HashMap<String,String>();
WeakHashMap<String,String> weakhashmap = new WeakHashMap<String,String>();
weakhashmap.put("Hadoop","Java");
weakhashmap.put("Spark","Scala");
weakhashmap.put("Kafka","Java");
System.out.println("WeakHashMap:");
System.out.println(weakhashmap);
System.out.println("");
for(Entry<String,String> entry : weakhashmap.entrySet()){
hashmap.put(entry.getKey(), entry.getValue());
}
System.out.println("HashMap:");
System.out.println(hashmap);
System.out.println("");
}
}
で実行結果
WeakHashMap:
{Kafka=Java, Hadoop=Java, Spark=Scala}
HashMap:
{Hadoop=Java, Kafka=Java, Spark=Scala}
WeakHashMapからHashMapに移す処理をした。
entrySetメソッド
Mapクラスのメソッドで、マップのコレクションを返す。
getKeyメソッド
エントリに対するキーを返す。
getValueメソッド
エントリに対する値を返す。
おわり
なにか意見や訂正、指摘があれば気軽にください。