如何获取给定LinkedHashSet元素的索引而无需迭代?
可能吗?
说你有
private Set<String> names = new LinkedHashSet<String>();
并且Strings
是“迈克”,“约翰”,“卡伦”。
是否可以不经过迭代就返回“约翰”的索引是“ 1”?
以下工作正常..与此问题,我想知道是否有更好的方法
for (String s : names) { ++i;
if (s.equals(someRandomInputString)) {
break;
}
}
回答:
该Set
接口并没有像作为一种indexOf()
方法。您确实需要对其进行迭代或使用提供方法的List
接口代替。indexOf()
如果你想,转换Set
到List
是很琐碎,它应该是传递的问题Set
通过的构造函数List
执行。例如
List<String> nameList = new ArrayList<String>(nameSet);// ...
以上是 如何获取给定LinkedHashSet元素的索引而无需迭代? 的全部内容, 来源链接: utcz.com/qa/431847.html