【发布时间】:2013-07-07 14:36:00
【问题描述】:
我基本上有一个包含ArrayList<String>,Boolean 的哈希表。我需要从哈希表中检索密钥。然后我需要从ArrayList<String> 中获取第一个值,这是关键。
我试过了:
Hashtable<ArrayList<String>,Boolean> tableRows = tableRead(); // returns the Hashtable.
ArrayList<String> IDs = new ArrayList<String>();
Iterator it = tableRows.keySet().iterator();
while (it.hasNext()) {
IDs.add(it.next().get(0));
}
但是,这给了我一个错误:cannot find symbol
[javac] symbol: method get(int)
[javac] location: class Object
只是给出一个功能性的想法:我基本上将整个 DB 行作为 Hashtable 中的键。我只需要取回 ID。
有人可以帮我解决这个问题吗?
【问题讨论】:
-
哪个符号找不到?
-
你的 hashTable 定义如何?
-
在您的迭代器声明中为您想要的类型添加一个通用参数,即。
Iterator<ArrayList<String>>. -
好吧,你在
Object上调用get,这是编译错误的来源。 -
@gran_profaci 最好只使用 id 作为键,而不是整行。看我的回答。
标签: java arraylist iterator key hashtable