哈希表和类数据

时间:2014-02-07 00:28:15

标签: java

我有一个问题,我正在努力解决。如果有人能指出我正确的方向,这将是很好的。我正在做的是构建一个名为Info的类,它只保存数据。这是一个String名称,Token类型等。这个类在另一个名为SymbolTable的类中。此类将数据添加到Hashtable,该Hashtable包含name:key和类Info:value。

问题是我不知道如何从Hashtable值中检出Info的数据。 我尝试使用toString方法,但只是从类Info中吐出原始数据。

这是我的代码:

public class SymbolTable {
private Hashtable<String, Info> myTable = new Hashtable<String, Info>();


public void add(String name, IdInfoToken kind){
    Info valueInfo = new Info();
    valueInfo.symbol = name;
    valueInfo.tokenKind = kind;
    myTable.put(name, valueInfo);
}

public String toString(){
    String answer = " ";
    answer += myTable;
    return answer;
}


private class Info {
    String symbol;
    IdInfoToken tokenKind;     
}}

1 个答案:

答案 0 :(得分:2)

您将以与放入数据相同的方式检索数据:按键。

我不知道你传递给你的包裹name方法的add的值是什么,但实质上,它会与此类似:

public Info retrieve(String name) {
    return myTable.get(name);
}

除此之外,除非您确实需要同步,否则请使用Map<String, Info>接口和HashMap具体实现,而不是Hashtable。这是Javadoc recommends at the bottom

之一