:: reverse dictionary ::
※ソースファイルについて
◎各マークの意味
Pb:pubic Pr:protected S:static
マップの全てのキーを取得するには、Map インターフェースを実装したクラスの keySet メソッドを使います。
import java.util.Hashtable; import java.util.Map; import java.util.Set;
Map map = new Hashtable(); map.put("Java 1.4.0", "Merlin"); map.put("Java 1.4.1", "Hopper"); map.put("Java 1.4.2", "Mantis"); map.put("Java 5.0", "Tiger"); // 全てのキーを取得 Set set = map.keySet(); String[] keys = null; keys = (String[])set.toArray(new String[set.size()]);
keys[0] は "Java 1.4.0" 、keys[1] は "Java 1.4.1" 、keys[2] は "Java 1.4.2" 、keys[3] は "Java 5.0" になります。
java.util.Map
Pb Set keySet()
マップの全てのキーを格納したセットを取得します。
セットのキーの順序は不定です。
(マップに格納した順序にならないこともあります)
null キーを格納できるクラスでは、null キーも取得します。
import java.util.HashMap; import java.util.Map; import java.util.Set;
Map map = new HashMap(); map.put("プログラミング言語", "Java"); map.put(null, null); // 全てのキーを取得 Set set = map.keySet(); String[] keys = null; keys = (String[])set.toArray(new String[set.size()]);
keys[0] は "プログラミング言語" 、keys[1] は null になります。
マップの全てのキーを格納したセット
マップに対する変更は、セットに反映されます。
逆にセットに対する変更は、マップに反映されます。
セットのキーは削除できますが、追加はできません。
Map map = new HashMap(); map.put("Java 1.4.0", "Merlin"); map.put("Java 1.4.1", "Hopper"); map.put("Java 1.4.2", "Mantis"); map.put("Java 5.0", "Tiger"); // 全てのキーを取得 Set set = map.keySet(); // キーを削除 set.remove("Java 1.4.0"); set.remove("Java 1.4.1"); String j140 = (String)map.get("Java 1.4.0"); String j141 = (String)map.get("Java 1.4.1"); int size = map.size(); // キーを追加 try { set.add("Java 1.3.0"); // 例外発生 } catch (UnsupportedOperationException e) { e.printStackTrace(); }
j140 は null 、j141 は null 、size は 2 になります。
(最後に例外が発生します)
HashMap クラスは null キーを格納できますが、Hashtable クラスは null キーを格納できません。
Map map = new Hashtable(); map.put(null, "NULL");
例外 NullPointerException が発生します。
Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com