加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

最轻量级的Java集合

发布时间:2020-12-15 02:04:43 所属栏目:Java 来源:网络整理
导读:如果我要创建一个 Java Collection,并且只想用元素填充它,然后遍历它(事先不知道必要的大小),即我需要的只是Collection E .add(E)和Collection E .iterator(),我应该选择哪个具体类?例如,使用Set而不是List是否有任何优势?哪一个开销最小? 解决方法 which
如果我要创建一个 Java Collection,并且只想用元素填充它,然后遍历它(事先不知道必要的大小),即我需要的只是Collection< E> .add(E)和Collection< E> .iterator(),我应该选择哪个具体类?例如,使用Set而不是List是否有任何优势?哪一个开销最小?

解决方法

which concrete class should I choose?

我可能只是使用ArrayListLinkedList.两者都支持add和iterator方法,而且它们中的更直接有任何可观的开销.

Is there any advantage to using a Set rather than a List,for example?

不,我不会这么说. (除非你依赖于元素的顺序,在这种情况下你必须使用List,或者想要禁止重复,在这种情况下你应该使用Set.)

(我没有看到任何Set实现如何击败add / iterator方法的列表实现,所以即使我不关心顺序,我也可能会使用List.)

Which one would have the least overhead?

这听起来像是微基准测试,但是如果我被迫猜测,我会说ArrayList(或者说在ArrayLists需要经常重新分配内存的情况下的LinkedList

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读