A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Walking Walking 中级黑马   /  2013-3-18 21:39  /  1695 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 徐盼盼 于 2013-3-19 08:16 编辑

在阅读张孝祥老师的《java就业培训的教程》中,关于集合类的比较是这样描述的:
Collection——对象之间没有指定的顺序,不允许重复元素。
Set——对象之间没有指定的顺序,不允许重复元素。
List——对象之间有指定的顺序,允许重复元素。

这三个接口间的继承关系如下:
Collection
        |----Set
        |----List

疑惑的地方是,既然Set和List继承Collection,Set和List的关系刚好相反,而Collection分别各取了Set和List的一部分?
如何证明Collection是对象之间没有指定的顺序,不允许重复元素?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

2 个回复

倒序浏览
而Collection分别各取了Set和List的一部分?这个可以看Collection API方法摘要
Collection是接口,只抽取功能,因为Set 与List的共同方法实现的方式实现相反

评分

参与人数 1黑马币 +9 收起 理由
黄玉昆 + 9

查看全部评分

回复 使用道具 举报
List集合是有角标的 所以可以对其进行排序,可以精确的控制每一个元素的插入位置。List序列允许满足e1.equals(e2) 的元素对 e1 和 e2。
而Set集合没有角标,不能精确控制其插入位置,Set不包含满足 e1.equals(e2) 的元素对 e1 和 e2,所以其集合中的元素就不能重复。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马