学Java的飘过,以下解释含有部分专业术语,看不懂请无视
Collection是个接口(所谓的接口可以理解为函数(不是数学上的函数,编程上也可以叫做方法或任务(这个其实最贴合实际,但是其他那些概念必须学))名的集合,主要是用于不同编程语言间的方法的互相调用),定义了一种存贮数据的集合。
Collection下面又分为set和list两个接口。
set定义了一种存贮无重复值的集合,不过访问的话必须通过迭代器(一种提供给外界按顺序访问集合的所有元素的接口,具体的实现由具体的集合类进行实现,因为编程讲究安全性,既要能让外界访问数据,又不能允许一些非法的操作)来对集合进行遍历。
list则定义了一种通过下标(也叫做索引,不过没有被叫做目录,虽然意思差不多,因为索引必须是数字,并且目录一般是用在书籍上面)来访问值的接口,这种集合数据的访问速度比上面的set要快,但是因为要管理下标,所以往中间插入数据时会比较慢。
LZ的第一句话 "Item 方法 利用位置或键返回"中的位置指的就是list中的下标,而键则是指的另一种和Collection 平级的集合Map(顺便说下,因为Java语言相当严谨,所以这些集合分得比较细,其他语言不一定分得这么细)
Map(直接翻译就是地图

,我也不知道为什么叫这个)指的是一种按照 键,值对 的方式存储数据的集合(键不能重复,如果重复的话就会覆盖原来的值,而值可以重复),访问值的时候要根据键去找,这种集合存取速度介于list和set中间。(插入数据时比list快(set没有索引,所以最快),因为不需要维护索引,但是查找数据时要跟所有的键进行比较(set没有索引,要找数据必须从头比较到尾,并且比较的是整个数据,所以最慢))。
以上就是Java的集合框架,我们作业都写了几遍了所以记得很清楚,顺便说下这些都还只是接口,要用的话必须是用具体的实现类,每个接口下面都有几个实现类,分别是用的不同的技术,分别在读取和插入(包括删除,因为原理差不多,所以这2个的速度往往是成比例的)上效率高,使用时要根据实际情况来决定。