栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

获取Java中Iterable的大小

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

获取Java中Iterable的大小

TL;
DR:使用

Iterables.size(Iterable)
强大的Guava库的实用程序方法。

在您的两个代码段中,应该使用第一个,因为第二个将删除中的所有元素

values
,因此之后为空。更改简单查询的数据结构(例如其大小)是非常意外的。

为了提高性能,这取决于您的数据结构。例如,如果实际上是an

ArrayList
,则从头开始删除元素(第二种方法正在做的事情)非常慢(计算大小变为O(n* n)而不是应有的O(n))。

通常,如果有可能

values
是a
Collection
而不只是a
Iterable
,请检查并致电
size()
以防万一:

if (values instanceof Collection<?>) {  return ((Collection<?>)values).size();}// use Iterator here...

要将呼叫

size()
通常比计算元素的数量快得多,而且这一招正是
Iterables.size(Iterable)
的番石榴为你做。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/508334.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号