我有一个包含这些名称的链接哈希集
[Raj,Anusha,Suresh,Sashant,Tisha,Prajyoti,Shubhavi,Daniel]
我想迭代此链接哈希集,从Sashant到Daniel。
String item1;
for (String key : list1) {
item1 = key;
System.out.println(item1);
}
上面的代码打印出linkedhashset中的所有名称。如何使用特定名称(从Suresh到Daniel)进行打印?请帮忙。谢谢。
答案 0 :(得分:3)
对于您要使用的数据结构,这是不可能的。在引擎盖下,使用双向链接列表来遍历该列表,这显然不允许您跳转到索引。
建议(按优先顺序):
2可能看起来像一个例子:
String firstNameToPrint = "Some Name";
boolean foundFirstNameToPrint = false;
for (String key : list1) {
if (key.equals(firstNameToPrint) {
foundFirstNameToPrint = true;
}
if (foundFirstNameToPrint) {
System.out.println(key);
}
}
答案 1 :(得分:0)
如果您的目的是按照将元素插入哈希表的时间顺序进行迭代,则可以尝试由哈希表和List组成的数据结构。
只要将String添加到哈希集中,就将其作为最后一个元素添加到List中。这需要持续的时间。
每当您从哈希集中删除字符串时,也将从列表中删除它。这需要线性时间。
每当您要从特定元素进行迭代时,都可以使用indexOf(String s)查找索引并从该索引开始进行迭代。