【发布时间】:2011-03-27 13:08:32
【问题描述】:
我已经像这样设置了一个 HashMap:
Map<String, ArrayList<String>> theAccused = new HashMap<String, ArrayList<String>>();
...我通过为每个名称(键)存储一个名称列表(值)来填充它。所以:
ArrayList<String> saAccused = new ArrayList<String>();
// populate 'saAccused' ArrayList
...
// done populating
theAccused.put(sAccuser, saAccused);
所以现在,我想查看 HashMap 中的所有条目,看看(对于每个 'sAccuser'),列表 'saAccused' 是否包含某个名称。到目前为止,这是我失败的尝试:
Set<String> setAccusers = theAccused.keySet();
Iterator<String> iterAccusers = setAccusers.iterator();
iterAccusers.next();
ArrayList<String> saTheAccused;
// check if 'sAccuser' has been accused by anyone before
for (int i = 0; i < theAccused.size(); i++) {
saTheAccused = theAccused.get(iterAccusers);
if (saTheAccused.contains(sAccuser)) {
}
iterAccusers.next();
}
...但是我不确定Set 和Iterator 类是如何工作的:/ 问题是我没有“值”...名称...'sAccuser' s... 对于可用的 HashMap。
简而言之,我想遍历 HashMap 并检查特定名称是否存储在任何列表中。那么我该怎么做呢?如果您需要我进一步详细说明或澄清任何困惑,请告诉我。
谢谢。
【问题讨论】:
-
+1 嘘!一堆答案,但没有一个回答者愿意为这个问题投票?赞成票意味着问题写得很好,具体,并显示了用户已经尝试过的内容。此问题符合投票的所有要求。
-
@Jim... :) 谢谢!哇……终于有人以这种方式认出我的感觉真好。非常感谢...我希望更多的人像你一样思考:) 谢谢! +1 表示我的问题符合投票的所有要求。
-
@Jim Garrison 你是对的,但对我来说还有两个要求 - 这个问题应该是困难的,并且是共同感兴趣的 - 即当你遇到问题时,谷歌搜索应该导致这个问题。
-
@Bozho... 我会记住您对质量问题的看法。我认为这是一个很难的问题,因为我以前从未处理过这个问题,但你是对的......我可能可以先用谷歌搜索它。我只是觉得如果我问的话我会更快地得到一个准确的答案。就共同利益而言……这不只取决于 SO 社区吗?如果你不感兴趣,其他人会(希望如此)。感谢您的意见:)
-
@Bozho:你说得对,但我放宽了对新 SO 用户的要求。另外,有很多糟糕和平庸的问题,我会在适当的时候尝试给出积极的反馈,以鼓励提出好的问题。我很惊讶有这么多人花时间回答而没有投票。
标签: java arraylist hashmap lookup contains