|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--jp.ne.ytp.util.MultiKeyHash
複数階層のキーを持つことが可能なハッシュテーブルです。
インスタンスの値としてHashMap
インスタンスを入れ子で持つことで複数階層を実装しています。
キーの階層数はコンストラクタによって決定します。一度決めたキーの数は変更できません。
次のようなコードを書いた場合、
String[] s1 = {"aa", "bbb", "111"}; String[] s2 = {"aa", "ccc", "222"}; String[] s3 = {"aa", "bbb", "222"}; MultiHash hash = new MultiHash(3); hash.put(s1, "1番"); hash.put(s2, "2番"); hash.put(s3, "3番"); System.out.println(hash.get(s2));結果は「2番」と表示されます。
String[] key = {"aa", "bbb"}; System.out.println(hash.keySet(key)); System.out.println(hash.values(key));[222, 111]
HashMap
コンストラクタの概要 | |
MultiKeyHash()
キーが1階層だけのインスタンスを生成します。 |
|
MultiKeyHash(int iLayer)
iLayerで指定された階層数をキーとして持つインスタンスを生成します。 |
メソッドの概要 | |
Object |
get(Object[] keys)
データを検索します。 |
Set |
keySet(Object[] keys)
keysで指定されたキー配下(1階層下)のMapが保持するキーの一覧を返します。 |
void |
put(Object[] keys,
Object value)
keysをキーとして、valueを格納します。 |
Collection |
values(Object[] keys)
keysで指定されたキー配下(1階層下)のMapが保持する値の一覧を返します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public MultiKeyHash()
public MultiKeyHash(int iLayer)
メソッドの詳細 |
public void put(Object[] keys, Object value)
keys
- 格納対象データのキーを格納した配列value
- 格納対象データ
IllegalArgumentException
- 配列の要素数が階層数以外の場合。public Object get(Object[] keys)
keys
- 検索対象のキーを格納した配列
public Set keySet(Object[] keys)
keys
- 検索対象のキーを格納した配列
Map.keySet()
public Collection values(Object[] keys)
keys
- 検索対象のキーを格納した配列
Map.values()
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |