때로는 조인 기능을 사용하여 컨테이너를 결합하고 새 컨테이너를 가져와야 합니다. 2개의 HashTable을 가져와서 모든 값으로 새 HashTable을 만드는 정적 조인 메서드를 작성합니다. 간단하게 하기 위해 두 값 모두에 키가 있는 경우 두 번째 값이 첫 번째 값보다 우선 적용됩니다.
예시
static join(table1, table2) { // 두 인수가 모두 HashTable인지 확인 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)); 콤보 반환;}
다음을 사용하여 테스트할 수 있습니다.
예시
let ht1 =new HashTable();ht1.put(10, 94);ht1.put(20, 72);ht1.put(30, 1);let ht2 =new HashTable();ht2.put( 21, 6); ht2.put(15, 21); ht2.put(32, 34); htCombo =HashTable.join(ht1, ht2)htCombo.display();
예시
이것은 출력을 줄 것입니다 -
<미리>0:1:2:3:4:{ 15:21 }5:6:7:8:{ 30:1 }9:{ 20:72 }10:{ 10:94 } --> { 21 :6 } --> { 32:34 }