在LinkedHashSet中查找项目

时间:2015-01-05 22:45:22

标签: java linkedhashset

我有一个bean将查询放入LinkedHashSet,因为我希望结果按查询顺序进行。作为示例进入的查询是id,forename,surname ......如何在LinkedHashSet中找到名称并返回该记录的元素编号。感谢

克里斯

1 个答案:

答案 0 :(得分:3)

LinkedHashSet实现Set接口。 Set的合同不要求实现以任何特定顺序保留项目。因此,Set没有indexOf(Object object)get(int index)等方法。碰巧的是,LinkedHashSet 按顺序保存元素(插入顺序),但这并不意味着您可以方便地访问特定索引处的项目或查找项目的索引。它只是意味着当您遍历整个Set时,订单将是插入顺序。

虽然您的问题并不完全清楚,但听起来您应该使用的是List而不是Set。除非你有充分的理由,否则你应该使用最List ArrayList的{​​{1}}实现。要在List执行list.indexOf(item);

中查找项目的索引