Java の java.util.Dictionary クラスは、キーと値のペアのコレクションを表す抽象クラスです。キーは一意であり、値にアクセスするために使用されます。これは Java 1.2 で導入された Java Collections Framework の一部でしたが、Java 1.2 以降は主に java.util.Map インターフェイスに置き換えられました。
Dictionary クラスは抽象クラスであるため、直接インスタンス化することはできません。代わりに、コレクションに格納されているキーと値のペアにアクセスするための基本操作を提供します。これらの操作は、その具象サブクラス java.util.Hashtable によって実装されます。
アルファベットと数字
Dictionary クラスは次のメソッドを定義します。
- get(Object key): ディクショナリ内の指定されたキーに関連付けられた値を返します。キーが見つからない場合は null を返します。
- put(Object key, Object value): キーと値のペアをディクショナリに挿入します。キーがすでに存在する場合、対応する値は次のとおりです。
- 新しい値に置き換えられ、古い値が返されます。キーが新しい場合は、null が返されます。
- Remove(Object key): 指定されたキーに関連付けられたキーと値のペアを辞書から削除し、その値を返します。キーが見つからない場合は、null が返されます。
- size(): 辞書に格納されているキーと値のペアの数を返します。
- isEmpty(): 辞書が空の場合は true を返し、それ以外の場合は false を返します。
elements(): ディクショナリに格納されている値の列挙を返します。 - key(): 辞書に格納されているキーの列挙を返します。
Dictionary クラスの使用例を次に示します。
ジャワ
import> java.util.Dictionary;> import> java.util.Enumeration;> import> java.util.Hashtable;> public> class> DictionaryExample {> > public> static> void> main(String[] args)> > {> > Dictionary dict=> new> Hashtable();> > dict.put(> 'Alice'> ,> 25> );> > dict.put(> 'Bob'> ,> 30> );> > dict.put(> 'Charlie'> ,> 35> );> > System.out.println(dict.get(> 'Bob'> ));> // 30> > int> oldValue = dict.put(> 'Charlie'> ,> 40> );> > System.out.println(oldValue);> // 35> > dict.remove(> 'Alice'> );> > System.out.println(dict.size());> // 2> > Enumeration k = dict.keys();> > while> (k.hasMoreElements()) {> > String key = k.nextElement();> > System.out.println(> 'Key: '> + key +> ', Value: '> > + dict.get(key));> > }> > }> }> |
>
>出力
30 35 2 Key: Bob, Value: 30 Key: Charlie, Value: 40>
util.Dictionary を表す抽象クラスです。 キーと値 関係があり、マップと同様に機能します。キーを指定すると、値を保存し、必要に応じてそのキーを使用して値を取得できます。したがって、これはキーと値のペアのリストです。
Javaのセット
宣言
public abstract class Dictionary extends Object>
コンストラクター:
辞書() 唯一のコンストラクター。
java.util.Dictionary クラスは、Map インターフェイスに似たキーと値のデータ構造を提供する Java のクラスです。これは元の Java Collections フレームワークの一部であり、Java 1.0 で導入されました。
ただし、Dictionary クラスは廃止されたと考えられており、その使用は一般的に推奨されていません。これは、コレクション フレームワークの導入前に設計されており、Map インターフェイスが実装されていないため、フレームワークの他の部分と組み合わせて使用することが困難になっているためです。
一般に、Dictionary クラスの代わりに Map インターフェイスまたはその実装の 1 つ (HashMap や ConcurrentHashMap など) を使用することをお勧めします。
Dictionary クラスの使用例を次に示します。
ジャワ
import> java.util.Dictionary;> import> java.util.Enumeration;> import> java.util.Hashtable;> public> class> Main {> > public> static> void> main(String[] args) {> > Dictionary dictionary => new> Hashtable();> > // Adding elements to the dictionary> > dictionary.put(> 'A'> ,> 1> );> > dictionary.put(> 'B'> ,> 2> );> > dictionary.put(> 'C'> ,> 3> );> > // Getting values from the dictionary> > int> valueA = dictionary.get(> 'A'> );> > System.out.println(> 'Value of A: '> + valueA);> > // Removing elements from the dictionary> > dictionary.remove(> 'B'> );> > // Enumerating the elements of the dictionary> > Enumeration keys = dictionary.keys();> > while> (keys.hasMoreElements()) {> > String key = keys.nextElement();> > System.out.println(> 'Key: '> + key +> ', Value: '> + dictionary.get(key));> > }> > }> }> |
>
>出力
Value of A: 1 Key: A, Value: 1 Key: C, Value: 3>
util.Dictionary クラスのメソッド:
Q3は何月ですか
1. put(K キー, V 値) : java.util.Dictionary.put(K キー, V 値) キーと値のペアを辞書に追加します。
構文:
public abstract V put(K key, V value) Parameters : ->key -> value 戻り値 : 辞書にマッピングされたキーと値のペア>
2. elements() : java.util.Dictionary.elements() 辞書内の値表現を返します。
構文:
public abstract Enumeration elements() Parameters : -------- Return : value enumeration in dictionary>
3. get(オブジェクトキー) : java.util.Dictionary.get(オブジェクトキー) 辞書内の引数付きキーにマップされた値を返します。
構文:
public abstract V get(Object key) Parameters : key - key whose mapped value we want Return : value mapped with the argumented key>
4. isEmpty() : java.util.Dictionary.isEmpty() 辞書が空かどうかをチェックします。
構文:
Pythonの継承プログラム
public abstract boolean isEmpty() Parameters : ------ Return : true, if there is no key-value relation in the dictionary; else false>
5.keys() : java.util.Dictionary.keys() 辞書内のキー表現を返します。
構文:
public abstract Enumeration keys() Parameters : -------- Return : key enumeration in dictionary>
6.remove(オブジェクトキー) : java.util.Dictionary.remove(オブジェクトキー) 引数のキーにマップされたキーと値のペアを削除します。
構文:
public abstract V remove(Object key) Parameters : key : key to be removed Return : value mapped with the key>
7. size() : java.util.Dictionary.size() いいえを返します。ディクショナリ内のキーと値のペアの数。
構文:
public abstract int size() Parameters : ------- Return : returns the no. of key-value pairs in the Dictionary>
ジャワ
// Java Program explaining util.Dictionary class Methods> // put(), elements(), get(), isEmpty(), keys()> // remove(), size()> import> java.util.*;> public> class> New_Class> {> > public> static> void> main(String[] args)> > {> > // Initializing a Dictionary> > Dictionary geek => new> Hashtable();> > // put() method> > geek.put('> 123> ', 'Code');> > geek.put('> 456> ', 'Program');> > // elements() method :> > for> (Enumeration i = geek.elements(); i.hasMoreElements();)> > {> > System.out.println('Value in Dictionary : ' + i.nextElement());> > }> > // get() method :> > System.out.println('
Value at key => 6> : ' + geek.get('> 6> '));> > System.out.println('Value at key => 456> : ' + geek.get('> 123> '));> > // isEmpty() method :> > System.out.println('
There is no key-value pair : ' + geek.isEmpty() + '
');> > // keys() method :> > for> (Enumeration k = geek.keys(); k.hasMoreElements();)> > {> > System.out.println('Keys in Dictionary : ' + k.nextElement());> > }> > // remove() method :> > System.out.println('
Remove : ' + geek.remove('> 123> '));> > System.out.println('Check the value of removed key : ' + geek.get('> 123> '));> > System.out.println('
Size of Dictionary : ' + geek.size());> > }> }> |
Javaオブジェクトの等価性
>
>
出力:
Value in Dictionary : Code Value in Dictionary : Program Value at key = 6 : null Value at key = 456 : Code There is no key-value pair : false Keys in Dictionary : 123 Keys in Dictionary : 456 Remove : Code Check the value of removed key : null Size of Dictionary : 1>
Dictionary クラスの利点:
- レガシー サポート: Dictionary クラスは元の Java Collections フレームワークの一部であり、最初から Java の一部でした。これは、Dictionary を使用する従来のコードがある場合でも、新しいコードでそれを使用できることを意味します。
- 使いやすい: Dictionary クラスは使いやすく、基本的なキーと値のデータ構造機能を提供します。これは単純な場合に役立ちます。
Dictionary クラスの欠点:
- 廃止されました: Dictionary クラスは廃止されたとみなされ、その使用は一般に推奨されません。これは、コレクション フレームワークの導入前に設計されており、Map インターフェイスが実装されていないため、フレームワークの他の部分と組み合わせて使用することが困難になっているためです。
- 制限された機能: Dictionary クラスは、基本的なキーと値のデータ構造機能を提供しますが、Map インターフェイスとその実装で使用できる機能の全範囲を提供するわけではありません。
- 型安全ではない: Dictionary クラスは、キーと値の両方を表すために Object クラスを使用するため、型の不一致や実行時エラーが発生する可能性があります。
参考書:
- Maurice Naftalin と Philip Wadler による Java コレクション。この本では、Dictionary クラスを含む Java コレクション フレームワークの包括的な概要を説明します。
- デビッド・フラナガン著「Java in a Nutshell」この本では、Dictionary クラスを含む Java のコア機能のクイック リファレンスを提供します。
- Java Generics and Collections (Maurice Naftalin および Philip Wadler 著)。この本は、Dictionary クラスを含む、Java のジェネリックスとコレクションに関する包括的なガイドを提供します。