logo

Javaの辞書クラス

Javaでは、 辞書 キーと値のペアのリストです。 Java Dictionary クラスを使用して、辞書に値を格納、取得、削除、取得、および配置できます。このセクションでは、 ジャワ 辞書 Map インターフェイスと同様に、データをキーと値のペアで格納するクラス。

Javaでの二分探索

Java辞書クラス

ジャワ 辞書 class は、任意のクラスの抽象クラスの親クラスです。に属します java.util パッケージ。その直接の既知のサブクラスは、 ハッシュ表 クラス。 Hashtable クラスと同様に、キーを値にマップします。すべてのキーと値はオブジェクトであり、null 以外のオブジェクトはキーとしても値としても使用できることに注意してください。 Dictionary クラスの階層は次のとおりです。

Javaの辞書クラス

次の図に示すように、すべてのキーは最大 1 つの値に関連付けられます。値がディクショナリ オブジェクトに保存されたら、キーを使用して値を取得できます。

Javaの辞書クラス

構文:

 public abstract class Dictionary extends Object 

注: このクラスは廃止されました。したがって、クラスを拡張する代わりにマップ インターフェイスを実装します。

辞書クラスのコンストラクター

このクラスには、 と呼ばれるコンストラクターのみがあります。 唯一 コンストラクタ。

構文:

 public Dictionary() 

辞書クラスのメソッド

Dictionary クラスのすべてのメソッドは次のとおりです。 抽象的な 。次の表にメソッドを示します。

方法 説明
public abstract 列挙要素() このディクショナリ内の値の列挙を返します。返された enum オブジェクトは、このディクショナリ内のエントリに含まれるすべての要素を生成します。
public abstract V get(オブジェクトキー) このディクショナリ内でキーがマップされている値を返します。このディクショナリ内のオブジェクト (キー) を解析します。このディクショナリに指定されたキーのエントリが含まれている場合は、関連付けられた値が返されることに注意してください。それ以外の場合は、null が返されます。キーが null の場合は、NullPointerException がスローされます。
パブリック抽象ブール値 isEmpty() このメソッドは、このディクショナリが値にキーをマップしていないかどうかをチェックします。この辞書にエントリが含まれていない場合にのみ true を返し、それ以外の場合は false を返します。
public abstract 列挙キー() この辞書内のキーの列挙を返します。返された enum オブジェクトは、このディクショナリにエントリが含まれるすべてのキーを生成します。
パブリックアブストラクト V put(K キー, V 値) このメソッドは、キーと値のペアを辞書に挿入するために使用されます。指定されたキーをこのディクショナリ内の指定された値にマップします。キーも値も null にできないことに注意してください。
指定されたキーのエントリがディクショナリにすでに含まれている場合は、新しい要素を含むようにエントリを変更した後、このディクショナリにすでに存在するそのキーの値が返されます。
指定されたキーのエントリがディクショナリにまだ存在しない場合は、指定されたキーと値のエントリが作成され、null が返されます。
キーと値をパラメータとして解析します。キーまたは値が null の場合は、NullPointerException がスローされます。
パブリック抽象 V 削除(オブジェクトキー) このメソッドは、削除するキーを解析します。キーと関連する値が削除されます。キーが辞書にない場合、このメソッドは何も実行しないことに注意してください。キーが null の場合は、NullPointerException がスローされます。
パブリック抽象整数サイズ() この辞書内のエントリ (個別キー) の数を返します。

Java 辞書プログラム

Dictionary.put() メソッドの使用

put() メソッドは、要素を辞書に挿入します。次のプログラムは同じことを示しています。

Java文字列をブール値に変換

InsertElementExample.java

 import java.util.*; public class InsertElementExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(105, 'Lismore'); dict.put(106, 'Mount Gambier'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //prints keys and corresponding values System.out.println(dict); } } 

出力:

 {108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney} 

Dictionary.size() メソッドの使用

辞書のサイズは、辞書に含まれる要素の数です。次のプログラムでは、辞書のサイズは 6 です。

DictionarySizeExample.java

 import java.util.*; public class DictionarySizeExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //prints the size of the dictionary System.out.println('The size of the dictionary is: '+dict.size()); } } 

出力:

 The size of the dictionary is: 6 

Dictionary.get() メソッドの使用

get() メソッドを使用すると、指定したキーの値を取得できます。

windows.open JavaScript

DictionaryGetElement.java

 import java.util.*; public class DictionaryGetElement { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //gets the value of the specified key System.out.println('The value of the specified key is: '+dict.get(103)); } } 

出力:

 The value of the specified key is: Melbourne 

Dictionary.isEmpty() メソッドの使用

辞書が空の場合は true を返し、それ以外の場合は false を返します。

EmptyCheckExample.java

 import java.util.*; public class EmptyCheckExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); //checks if the dictionary is empty or not System.out.println('Is the dictionary empty? 
'+dict.isEmpty()); } } 

出力:

Linuxエラーコード
 Is the dictionary empty? false 

Dictionary.remove() メソッドの使用

このメソッドは、メソッド内で解析したキーと対応する値を削除します。削除された値はメソッドによって返されます。

RemoveElementExample.java

 import java.util.*; public class RemoveElementExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(108, 'Canberra'); dict.put(106, 'Mount Gambier'); dict.put(104, 'Perth'); dict.put(102, 'Brisbane'); //removes the corresponding value of the specified key System.out.println('The removed value is: '+dict.remove(106)); } } 

出力:

 The removed value is: Mount Gambier 

elements() メソッドと key() メソッドの使用

RemoveElementExample.java

 import java.util.*; public class IterateKeyAndValuesExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(105, 'Lismore'); dict.put(106, 'Mount Gambier'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); System.out.println('Dictionary values are: 
'); //loop iterate over the values stored in the dictionary for(Enumeration enm = dict.elements(); enm.hasMoreElements();) { //prints the value System.out.println(enm.nextElement()); } System.out.println('
Dictionary keys are: 
'); //loop iterate over the keys stored in the dictionary for(Enumeration enm = dict.keys(); enm.hasMoreElements();) { //prints the keys System.out.println(enm.nextElement()); } } } 

出力:

 Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101 

HashMap クラスと Dictionary クラスの違い

ジャワ ハッシュマップ class と Dictionary クラスはどちらも同様の機能を実行します。唯一の違いは、 HashMap は Map インターフェイスを実装しますが、Dictionary クラスは実装しません 。 Java のドキュメントによると、Dictionary クラスは古いため現在は使用されていません。 Dictionary クラスの代わりに、HashMap クラスが使用されます。 HashMap は一種の辞書であると言えます。