我想存储一个元组和一个值作为条目。我的意思是这样的
A B -> 1
A C -> 2
E F -> 3
C D -> 4
前两个值始终是唯一的,在某种意义上,A和B只出现一次。为此目的,有效的数据结构是什么,请记住我可能需要从一个条目中有效地获取三个字段中的任何一个?
如果可能,请提供一些相关代码!!
答案 0 :(得分:7)
Map
效果很好。您需要有一个对象来表示前两个项目。确保在新课程中正确实施hashCode
和equals
方法。然后你可以使用该类作为密钥。
Map<MyKeyClass, Integer> map = new HashMap<MyKeyClass, Integer>();
map.put(new MyKeyClass("A", "B"), 1);
map.put(new MyKeyClass("A", "C"), 2);
答案 1 :(得分:1)
我建议您使用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"));
}
}
答案 2 :(得分:0)
试试这个:
public class MyData{
public char name, fname;
public int value;
public Foo(char name, char fname, int value){
this.name = name;
this.fname = fname;
}
}