5 java
我正在尝试实现一个使用整数元组作为键的HashTable。到目前为止,我所做的是:
import java.util.*;
public class Hash_Table_Demo {
public static void main(String[] args)
{
Hashtable<Integer, String> marks =
new Hashtable<Integer, String>();
marks.put(33,"test");
System.out.println(marks.get(33));
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我仅针对整数而不是对实现了这一点。怎么办呢?
更新后的版本
为了避免对 JavaFX 的依赖,我们可以为元组创建一个简单的泛型类
class Tuple<Value> {
Value first;
Value second;
Tuple(Value first, Value second) {
this.first = first;
this.second = second;
}
}
Run Code Online (Sandbox Code Playgroud)
并且还要避免使用Hashtable并替换为例如。HashMap
Map<Tuple<Integer>, String> map = new HashMap();
map.put(new Tuple(1,2), "Hello");
map.put(new Tuple(3,3), "World");
Run Code Online (Sandbox Code Playgroud)
旧版
使用现有的Pair类,您可以定义哈希表,例如
Map<Pair<Integer, Integer>, String> marks = new Hashtable<>();
Run Code Online (Sandbox Code Playgroud)
然后创建一个新的 Pair 实例作为 key
marks.put(new Pair(1,33),"test");
System.out.println(marks.get(new Pair(1,33)));
Run Code Online (Sandbox Code Playgroud)