黑马程序员技术交流社区
标题:
Collection中List与Set怎么理解?
[打印本页]
作者:
郑庆伟
时间:
2012-7-7 18:19
标题:
Collection中List与Set怎么理解?
本帖最后由 郑庆伟 于 2012-7-7 19:03 编辑
毕老师的视频中讲到Collection
|-List元素是有序的
|-Set元素是无序的(存入和取出不一定一致)
这里面有序毕老师是讲的怎么放进去就怎么取出来我不太理解?
毕老师讲的是无序的意思是存入和取出不一定一致,那么不一定一致怎么理解,如果一致了不是有序了吗,那么Set中的”不一定“怎么去理解?
它包含有两个意思可能一致有可能不一致。一致了不就符合List的特点了吗?
作者:
康大玮
时间:
2012-7-7 18:34
设计到底层数据结构问题,不知到你学过没有,我也马马虎虎,而且哈系表没学过。
|--List:元素是有序的,元素可以重复,因为该集合体系有索引。底层 其实应该都是数组(链表也是数组)
|--ArrayList;底层的数据结构是数组。
|--LinkedList:底层使用数据结构是链表。
|--Vector:底层数据结构是数组。
|--Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复
|--HashSet:底层是哈系表
|--TreeSet:可以对Set集合的元素进行排序,底层是二叉数。
TreeSet排序的第一种方式: 让元素自身具备比较性。
然后 你谷歌或者度娘哈系表吧!
作者:
郑庆伟
时间:
2012-7-7 18:37
底层数据结构我没学过,就是这个概念在我写下来的时候,突然感觉有些疑惑?这个解释起来可能比较麻烦.
作者:
yulu53
时间:
2012-7-7 18:37
存入Set的元素 会进行默认或定制排序,比如你往set中放 5,2,1.
5是第一个放的
但输出却是1,2,5发现5被排到最后了
List集合中每个元素都有对应的索引(类似数组)
放入 5,2,1 输出后还是 5,2,1
不知道这么说,你懂不懂
作者:
郑庆伟
时间:
2012-7-7 18:53
看你的插入的图我就明白了毕老师讲的有序跟无序的概念了。
作者:
郑庆伟
时间:
2012-7-7 18:56
List与Set数据结构不一样,List是每个元素都有一个索引,而Set是调用hashCode方法进行判断然后再进行存储。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2