我有一个bean将查询放入LinkedHashSet
,因为我希望结果按查询顺序进行。作为示例进入的查询是id,forename,surname ......如何在LinkedHashSet
中找到名称并返回该记录的元素编号。感谢
克里斯
答案 0 :(得分:3)
LinkedHashSet
实现Set
接口。 Set
的合同不要求实现以任何特定顺序保留项目。因此,Set
没有indexOf(Object object)
或get(int index)
等方法。碰巧的是,LinkedHashSet
按顺序保存元素(插入顺序),但这并不意味着您可以方便地访问特定索引处的项目或查找项目的索引。它只是意味着当您遍历整个Set
时,订单将是插入顺序。
虽然您的问题并不完全清楚,但听起来您应该使用的是List
而不是Set
。除非你有充分的理由,否则你应该使用最List
ArrayList
的{{1}}实现。要在List
执行list.indexOf(item);