包含元组及其值的记录的高效数据结构

时间:2013-05-01 18:21:33

标签: java

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

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

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

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

3 个答案:

答案 0 :(得分:7)

Map效果很好。您需要有一个对象来表示前两个项目。确保在新课程中正确实施hashCodeequals方法。然后你可以使用该类作为密钥。

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;
}
}