|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.util.Hashtable
public class Hashtable
キーに対して値をマップして管理するクラスです。
キーおよび値は双方ともオブジェクトとして扱うことができるものに限って使用することができます。
このため、プリミティブ型を取り扱う場合は Integer
クラスや Long
クラスといったラップクラスを使用します。
キーとして指定するオブジェクトは equals
メソッドと hashCode
メソッドが適切に実装されていなければなりません。
ハッシュテーブルはこの2つのメソッドを使用してキーを管理します。
Java Platform, Standard Edition.におけるこのクラスは負荷係数と初期容量の設定を行うことができましたが、Java Platform, Micro Edition.では初期容量の設定のみが行えます。 負荷係数はデフォルトのものから変更することはできません。
あらかじめ Hashtable
で取り扱う情報量が多いことがわかっている場合は初期容量を十分に大きな初期容量を指定してインスタンスを生成した方が効率的に管理を行うことができます。
例:
プリミティブ型の int
に対応する値を文字列で設定する場合は、
Hashtable hash = new Hashtable(); hash.put(new Integer(1), " その1 "); hash.put(new Integer(2), " その2 "); hash.put(new Integer(3), " その3 ");
というように記述します。ここで設定した値を取得して表示する場合は、
System.out.println((String) hash.get(new Integer(1))); System.out.println((String) hash.get(new Integer(2))); System.out.println((String) hash.get(new Integer(3)));
というように記述します。
このクラスはスレッド・セーフに実装されています。
Object.equals(Object)
,
Object.hashCode()
コンストラクタの概要 | |
---|---|
Hashtable()
デフォルトの容量および負荷係数を持つ、空の新しいオブジェクトを構築します。 |
|
Hashtable(int size)
指定された初期容量を持つ、空の新しいオブジェクトを構築します。 |
メソッドの概要 | |
---|---|
void |
clear()
ハッシュテーブルに記録されている要素を全て削除して、空の状態にします。 |
boolean |
contains(Object value)
渡されたオブジェクトがハッシュテーブルに保持している値に存在するかどうか判定し、その結果を返します。 |
boolean |
containsKey(Object key)
渡されたオブジェクトがハッシュテーブルに保持しているキーに存在するか否かを判定し、その結果を返します。 |
Enumeration |
elements()
ハッシュテーブルが保持している値の列挙を返します。 |
Object |
get(Object key)
指定されたオブジェクトが一致するキーを持つ値を返します。 |
boolean |
isEmpty()
ハッシュテーブルに要素が存在するか否かを返します。 |
Enumeration |
keys()
ハッシュテーブルが保持しているキーの列挙を返します。 |
Object |
put(Object key,
Object value)
キーとして渡されたオブジェクトと値として渡されたオブジェクトをハッシュテーブルに挿入します。 |
protected void |
rehash()
保持しているキーと値のマップのハッシュをより大きな容量のハッシュテーブルに格納します。 |
Object |
remove(Object key)
渡されたオブジェクトに対応するキーを持つキーと値をハッシュテーブルから削除します。 |
int |
size()
ハッシュテーブルが保持している要素数を返します。 |
String |
toString()
ハッシュテーブルを「比較的長い」文字列表現として返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
---|
public Hashtable(int size)
size
- 構築する初期容量を渡します。public Hashtable()
メソッドの詳細 |
---|
public int size()
public boolean isEmpty()
true
を、存在する場合は false
を返します。public Enumeration keys()
Enumeration
インタフェースの実装オブジェクトを返します。public Enumeration elements()
Enumeration
インタフェースの実装オブジェクトを返します。public boolean contains(Object value)
containsKey
メソッドよりも負荷がかかります。
value
- 判定する対象のオブジェクトを渡します。
true
を、存在しない場合は false
を返します。
NullPointerException
- value
が null
の場合に throw します。public boolean containsKey(Object key)
key
- 判定する対象のオブジェクトを渡します。
true
を、存在しない場合は false
を返します。
NullPointerException
- key
が null
の場合に throw します。public Object get(Object key)
key
- 取り出す対象のオブジェクトを渡します。
null
を返します。put(java.lang.Object, java.lang.Object)
protected void rehash()
public Object put(Object key, Object value)
キーとして渡されたオブジェクトと値として渡されたオブジェクトをハッシュテーブルに挿入します。
キーおよび値には null
を使用することはできません。
また、オブジェクト key
は適切に hashCode()
メソッドを実装している必要があります。
指定したオブジェクト key
と等しいとみなすことができるオブジェクトを get(Object)
メソッドのパラメータで渡すことで挿入した値オブジェクトを取り出すことができます。
key
- ハッシュテーブル中のキーとするオブジェクトを渡します。value
- ハッシュテーブル中の値とするオブジェクトを渡します。
key
に対応するキーのオブジェクトが存在した場合、その対応する値オブジェクトを返します。存在しない場合は null
を返します。
NullPointerException
- key
あるいは value
が null
の場合に throw します。get(java.lang.Object)
,
Object.equals(java.lang.Object)
,
Object.hashCode()
public Object remove(Object key)
渡されたオブジェクトに対応するキーを持つキーと値をハッシュテーブルから削除します。 ハッシュテーブルにキーに対応する要素がない場合は何も行いません。
key
- 削除する対象のキーと一致するオブジェクトを渡します。
null
を返します。public void clear()
ハッシュテーブルに記録されている要素を全て削除して、空の状態にします。
public String toString()
Object
内の toString
|
Unofficial "CLDC 1.1 + MIDP 2.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
公式仕様書原文の著作権表記等(※): Mobile Information Device Profile Specification ("Specification") Version: 2.0 Status: FCS Release: November 5, 2002 Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc. All rights reserved. | ※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。 ※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。 |