Java 集合类库里是不是没有允许其中元素重复的无序的 Collection 接口的实现类?

2020-03-10 14:14:05 +08:00
 Newyorkcity
允许其中元素重复 -> List
无序的 -> List 中没有无序的
是这样嘛?

谢谢

话说为什么说 set 是无序的? set 接口继承 Collection 接口继承 Iterable 接口,也就是说有迭代器,能执行`next()`操作,理论上也能是西安`get (int index)`方法。。。
800 次点击
所在节点    问与答
7 条回复
rockyou12
2020-03-10 14:15:38 +08:00
你要插入顺序随机还是什么?一定要打乱插入顺序,自己写个方法打乱不久行了
Newyorkcity
2020-03-10 14:21:34 +08:00
@rockyou12 不是,就是最近在看 javase 集合这一块,我想 List 和 Set 接口之所以是 Collection 的两大分叉的根本分歧点在哪里,无序 /有序?还是说是有无重复元素?
lhx2008
2020-03-10 14:24:21 +08:00
区别肯定是有无重复元素,contains 的复杂度也不一样。
至于保存插入顺序+无重复元素,LinkedHashSet
lhx2008
2020-03-10 14:27:45 +08:00
允许其中元素重复的无序:Collections.shuffle(xxxList)
rockyou12
2020-03-10 14:36:22 +08:00
@Newyorkcity list 的 javadoc 其实说了`Unlike sets, lists typically allow duplicate elements. `
gemini767
2020-03-10 14:41:07 +08:00
@Newyorkcity 区别是查询和插入的复杂度吧……其实差别就是数据结构和算法
lululau
2020-03-10 14:44:06 +08:00
1. 不是脱离场景发明问题
2. 有序的就是无序的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/651508

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX