我想存储一个元组和一个值作为条目。我的意思是这样的
A B -> 1
A C -> 2
E F -> 3
C D -> 4
前两个值总是唯一的,因为 A 和 B 只一起出现一次。为此目的,什么是有效的数据结构,请记住我可能需要有效地从条目中获取三个字段中的任何一个?
如果可能,请提供一些相关代码!
我想存储一个元组和一个值作为条目。我的意思是这样的
A B -> 1
A C -> 2
E F -> 3
C D -> 4
前两个值总是唯一的,因为 A 和 B 只一起出现一次。为此目的,什么是有效的数据结构,请记住我可能需要有效地从条目中获取三个字段中的任何一个?
如果可能,请提供一些相关代码!
AMap
会很好用。您需要有一个对象来表示前两项。确保在您的新类上正确实现了hashCode
andequals
方法。然后您可以使用该类作为密钥。
Map<MyKeyClass, Integer> map = new HashMap<MyKeyClass, Integer>();
map.put(new MyKeyClass("A", "B"), 1);
map.put(new MyKeyClass("A", "C"), 2);
我建议你使用 HashMap,例如:
public class Test {
public void TestHashMap() {
Map<Tuple<String,String>, Integer> myMap = new HashMap<Tuple<String,String>, Integer>();
myMap.put(new Tuple<String,String>("A","B"), 1);
myMap.put(new Tuple<String,String>("A","C"), 2);
myMap.get(new Tuple<String,String>("A","C"));
}
}
尝试这个:
public class MyData{
public char name, fname;
public int value;
public Foo(char name, char fname, int value){
this.name = name;
this.fname = fname;
}
}