サンプル概要
HashMap、LinkedHashMap、TreeMapについて
ソース
package jp.co.shoeisha.javarecipe.chapter04.recipe120;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class MapSample {
@SuppressWarnings("unused")
public static void main(String[] args) {
/////////////////////////////////////////////
// Mapを生成する
/////////////////////////////////////////////
{
// Java 6の場合
Map<String, String> hashMap = new HashMap<String, String>();
// Java 7以降の場合
Map<String, String> hashMap1 = new HashMap<>();
}
/////////////////////////////////////////////
// 要素数を指定してMapを生成する
/////////////////////////////////////////////
{
// HashMapの生成時に100個分の領域を確保
Map<String, String> hashMap = new HashMap<>(100);
}
/////////////////////////////////////////////
// 順序性の確認
/////////////////////////////////////////////
{
// HashMapの生成
Map<String, String> hashMap = new HashMap<>();
hashMap.put("A", "1");
hashMap.put("C", "3");
hashMap.put("E", "5");
hashMap.put("D", "4");
hashMap.put("B", "2");
hashMap.put("X", "2");
hashMap.put("AA", "2");
hashMap.put("A", "2");
System.out.println(hashMap); // => {D=4, E=5, A=1, B=2, C=3} 順序性なし
// LinkedHashMapの生成
Map<String, String> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put("A", "1");
linkedHashMap.put("C", "3");
linkedHashMap.put("E", "5");
linkedHashMap.put("D", "4");
linkedHashMap.put("B", "2");
System.out.println(linkedHashMap); // => {A=1, C=3, E=5, D=4, B=2} 格納順
// TreeMapの生成
Map<String, String> treeMap = new TreeMap<>();
treeMap.put("A", "1");
treeMap.put("C", "3");
treeMap.put("E", "5");
treeMap.put("D", "4");
treeMap.put("B", "2");
System.out.println(treeMap); // => {A=1, B=2, C=3, D=4, E=5} 自然順序付け
}
}
}
結果
{AA=2, A=2, B=2, C=3, D=4, E=5, X=2}
{A=1, C=3, E=5, D=4, B=2}
{A=1, B=2, C=3, D=4, E=5}
コメント