JavascriptのHashTableクラス
例
class HashTable { constructor() { this.container = []; // Populate the container with empty arrays // which can be used to add more elements in // cases of collisions for (let i = 0; i < 11; i++) { this.container.push([]); } } display() { this.container.forEach((value, index) => { let chain = value .map(({ key, value }) => `{ ${key}: ${value} }`) .join(" --> "); console.log(`${index}: ${chain}`); }); } put(key, value) { let hashCode = this.hash(key); for (let i = 0; i < this.container[hashCode].length; i++) { // Replace the existing value with the given key // if it already exists if (this.container[hashCode][i].key === key) { this.container[hashCode][i].value = value; return; } } // Push the pair at the end of the array this.container[hashCode].push(new this.KVPair(key, value)); } get(key) { let hashCode = this.hash(key); for (let i = 0; i < this.container[hashCode].length; i++) { // Find the element in the chain if (this.container[hashCode][i].key === key) { return this.container[hashCode][i]; } } return undefined; } remove(key) { let hashCode = this.hash(key); for (let i = 0; i < this.container[hashCode].length; i++) { // Find the element in the chain if (this.container[hashCode][i].key === key) { this.container[hashCode].splice(i, 1); return true; } } return false; } hash(key) { return key % 11; } forEach(callback) { // For each chain this.container.forEach(elem => { // For each element in each chain call callback on KV pair elem.forEach(({ key, value }) => callback(key, value)); }); } static join(table1, table2) { // Check if both args are HashTables if (!table1 instanceof HashTable || !table2 instanceof HashTable) { throw new Error("Illegal Arguments"); } let combo = new HashTable(); table1.forEach((k, v) => combo.put(k, v)); table2.forEach((k, v) => combo.put(k, v)); return combo; } } HashTable.prototype.KVPair = class { constructor(key, value) { this.key = key; this.value = value; } };
-
C#のオブジェクトクラス
Objectクラスは、C#のすべてのクラスの基本クラスです。 C#では次のメソッドがあります。 Sr.No メソッドと説明 1 Equals(Object) 指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判別します。 2 Equals(Object、Object、 指定されたオブジェクトインスタンスが等しいと見なされるかどうかを決定します。 3 Finalize() オブジェクトがリソースを解放しようとすることを許可します 4 GetHashCode() デフォルトのハッシュ関数。 5
-
C#のHashtableクラスのValuesプロパティとは何ですか?
Valuesプロパティは、ハッシュテーブルの値を含むICollectionを取得します。 ハッシュテーブルコレクションを宣言する- Hashtable ht = new Hashtable(); 次に値を追加します ht.Add("One", "Henry"); ht.Add("Two", "Kevin"); ht.Add("Three", "David"); ハッシュテーブルの値を表示するためのコードは次のとおりです- 例 using System; using Sy