我有一个集合,我想获取集合的最后一个元素。最直接、最快速的方法是什么?
一种解决方案是先toArray(),然后返回数组的最后一个元素。还有其他更好的吗?
原文由 tom 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个集合,我想获取集合的最后一个元素。最直接、最快速的方法是什么?
一种解决方案是先toArray(),然后返回数组的最后一个元素。还有其他更好的吗?
原文由 tom 发布,翻译遵循 CC BY-SA 4.0 许可协议
A Collection
不一定是有序的元素集,因此可能没有“最后”元素的概念。如果你想要订购的东西,你可以使用 SortedSet
/ NavigableSet
它有一个 last()
方法。或者您可以使用 List
并调用 mylist.get(mylist.size()-1);
如果你 真的 需要最后一个元素,你应该使用 List
或 SortedSet
/ NavigableSet
。但是,如果你只有一个 Collection
而你真的、真的、 真的 需要最后一个元素,你可以使用 toArray()
或者你可以使用 Iterator
到列表的末尾。
例如:
public Object getLastElement(final Collection c) {
final Iterator itr = c.iterator();
Object lastElement = itr.next();
while(itr.hasNext()) {
lastElement = itr.next();
}
return lastElement;
}
原文由 Jack Edmonds 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
这不是非常有效的解决方案,但可以工作: