0

我想存储一个元组和一个值作为条目。我的意思是这样的

A B -> 1
A C -> 2
E F -> 3
C D -> 4

前两个值总是唯一的,因为 A 和 B 只一起出现一次。为此目的,什么是有效的数据结构,请记住我可能需要有效地从条目中获取三个字段中的任何一个?

如果可能,请提供一些相关代码!

4

3 回答 3

7

AMap会很好用。您需要有一个对象来表示前两项。确保在您的新类上正确实现了hashCodeandequals方法。然后您可以使用该类作为密钥。

Map<MyKeyClass, Integer> map = new HashMap<MyKeyClass, Integer>();
map.put(new MyKeyClass("A", "B"), 1);
map.put(new MyKeyClass("A", "C"), 2);
于 2013-05-01T18:26:20.423 回答
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"));
    }
}
于 2013-05-01T18:30:14.533 回答
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;
}
}
于 2013-05-01T18:27:11.040 回答