18
为什么java.util.Set没有get(int index)?
我确信这是有充分理由的,但是有人可以解释一下为什么java.util.Set缺少接口get(int Index)或任何类似get()方法吗? 集合似乎很适合放入东西,但是我找不到从其中检索单个项目的优雅方法。 如果我知道我想要第一个项目,则可以使用set.iterator().next(),但否则似乎必须强制转换为Array才能在特定索引处检索项目? 从集合中检索数据的适当方法是什么?(除了使用迭代器之外) 我敢肯定,将其排除在API之外的事实意味着有充分的理由不这样做-有人可以启发我吗? 编辑: 这里有一些非常好的答案,有的说“更多的上下文”。具体情况是dbUnit测试,在这里我可以合理地断言从查询返回的集合只有1个项目,而我试图访问该项目。 但是,如果没有这种情况,这个问题会更有效,因为它仍然更加集中: set和list有什么区别。 感谢所有以下出色的答案。