Java では、ハッシュテーブルは、すべてのキーを特定の値にマップするキーと値のペアを格納するために使用されます。 HashMap とは異なり、同期されます。さらに、Hashtable では null 値や null キーが許可されず、固有の要素も含まれます。すでに述べたように、ハッシュ テーブルには、ハッシュされてハッシュ コードが取得されるキーが含まれています。次に、このコードは特定の値が格納されるインデックスとして使用されます。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
ハッシュテーブルの宣言:
ハッシュテーブル クラスは、以下の構文を使用して宣言できます。
public class Hashtable<Key,Value> extends Dictionary<Key,Value> implements Map<Key,Value>, Cloneable, Serializable
ハッシュテーブルは、パラメーター化されたコンストラクターとパラメーター化されていないコンストラクターの両方を使用して作成できます。
HashTable で一般的に使用されるメソッドは次のとおりです。
各データ構造には独自の特別な機能があります。
以下は Java でハッシュテーブルを実装する例です。
キーと値をハッシュテーブルに追加する Java プログラム。
コード:
//Java program to add keys and values to the hashtable import java.util.Enumeration; import java.util.Hashtable; //class public class HashTableExample { //main method public static void main(String args[]) { // Hashtable creation Hashtable htbl = new Hashtable(); //create an enumeration enm Enumeration enm; //create sing s String s; //create a double variable balance double balance; //add keys and values to the table htbl.put(" A ", new Double(3500.50)); htbl.put(" B ", new Double(2900.00)); htbl.put(" C ", new Double(3600.00)); htbl.put(" D ", new Double(4550.50)); htbl.put(" E ", new Double(2345.67)); // Store all the keys in the enumeration enm enm = htbl.keys(); //if more elements are present in the enm, enter this loop while(enm.hasMoreElements()) { s = (String) enm.nextElement(); System.out.println(s + ": " + htbl.get(s)); } System.out.println(); // Add 1000 to value of Key A balance = ((Double)htbl.get(" A ")).doubleValue(); htbl.put(" A ", new Double(balance + 1000)); System.out.println(" A's new balance : " + htbl.get(" A ")); } }
出力:
コードを実行すると、A、B、C、D、E の値が表示されます。さらに、以下のように A の新規残高も表示されます。
ハッシュテーブルからキーと値を削除する Java プログラム。
Code:
//Java program to remove keys and values from the hashtable import java.util.Enumeration; import java.util.Hashtable; //class public class HashTableExample { //main method public static void main(String args[]) { // Hashtable creation Hashtable<Integer,String> htbl = new Hashtable<Integer,String>(); //add keys and values to the table htbl.put(1,"29"); htbl.put(2,"30"); htbl.put(3,"31"); htbl.put(4,"32"); htbl.put(5,"33"); htbl.put(6,"34"); htbl.put(7,"35"); System.out.println("Hashtable before removing values: "+ htbl); // Remove 6 and 3 htbl.remove(6); htbl.remove(3); System.out.println("Hashtable after removing values : "+ htbl); } } <p><strong>Output:</strong></p> <p><img src="https://img.php.cn/upload/article/000/000/000/172500406535378.png" alt="Javaのハッシュテーブル" ></p> <p>In this program, values of 1, 2, 3, 4, 5, 6 and 7 will be displayed on executing the code. Then the values of 6 and 3 will be removed and display the rest of the values.</p> <h4>Example #3</h4> <p>Java program to get keys and values from the hashtable.</p> <p><strong>Code:</strong></p> <pre class="brush:php;toolbar:false">//Java program to get keys and values from the hashtable import java.util.Enumeration; import java.util.Hashtable; //class public class HashTableExample { //main method public static void main(String args[]) { // Hashtable creation Hashtable<Integer,String> htbl = new Hashtable<Integer,String>(); //add keys and values to the table htbl.put(1,"29"); htbl.put(2,"30"); htbl.put(3,"31"); htbl.put(4,"32"); htbl.put(5,"33"); htbl.put(6,"34"); htbl.put(7,"35"); System.out.println("Hashtable : "+ htbl); //if value of 3 is present, then return it else print Null System.out.println(htbl.getOrDefault(3, "Null")); //if value of 8 is present, then return it else print Null System.out.println(htbl.getOrDefault(8, "Null")); } }
Output:
In this program also, values of 1, 2, 3, 4, 5, 6 and 7 will be displayed on executing the code. Then, the values for keys 3 and 8 will be retrieved using the method getOrDefault(). Since the value of 8 is not available, null will be returned in the second getOrDefault() method.
以上がJavaのハッシュテーブルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。