可能重复:
Java:从集合中获取第一个项目
在Java中,我经常会遇到一个带有一个元素的集合,我需要检索它.因为集合不保证一致的排序,所以没有first()
或get(int index)
方法,所以我需要使用相当丑陋的东西,例如:
public Integer sillyExample(Collection<Integer> collection){
if(collection.size()==1){
return collection.iterator().next();
}
return someCodeToDecideBetweenElements(collection);
}
Run Code Online (Sandbox Code Playgroud)
那么,你如何获得唯一的元素?我不敢相信没有更好的方法......
请注意,我理解没有"第一"的概念,我只是试图避免构建迭代器,因为我知道它只有一个元素.
编辑:Peter Wooster在这里发现了一个非常相似的问题.我要离开这个因为我不是想要获得"第一"元素,这意味着一致的排序,但是在检查它确实是唯一元素之后是"唯一的"元素.
Pet*_*ter 25
最简单的答案就是你做过的!
first = collection.iterator().next();
Run Code Online (Sandbox Code Playgroud)
注意iterator()是一个方法,那是一个错字吗?
小智 13
你有没看过谷歌番石榴?如果您知道集合有一个元素只,您可以使用Iterables.getOnlyElement(collectionWithOneElement);
,但如果你不知道,但仍旧只希望你可以使用的第一个元素getFirst(Iterable, T default)
.如果它为空,它还将返回您定义的默认值.
归档时间: |
|
查看次数: |
34869 次 |
最近记录: |