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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Crystal静新 中级黑马   /  2014-4-3 14:02  /  1151 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Crystal静新 于 2014-4-3 22:15 编辑

List,Set,Map这三个集合查数据和存数据的效率,是一个什么情况,小数据和大数据时又是什么一个情况。这三者的底层又是什么情况。

评分

参与人数 1黑马币 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览

点评

笔记 杠杠的啊  发表于 2014-4-3 14:26

评分

参与人数 2技术分 +1 黑马币 +2 收起 理由
itpower + 1
Crystal静新 + 2 赞一个!

查看全部评分

回复 使用道具 举报 1 0

太快了,直接拿笔记
回复 使用道具 举报
呃。。。怎么设为提问结束呀
回复 使用道具 举报
Crystal静新 发表于 2014-4-3 15:51
呃。。。怎么设为提问结束呀

帖子编辑里面 ,有个提问结束,选中保存就行了
回复 使用道具 举报
List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
        |--ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
        |--LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度非常快。
        |--Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。
Set接口中的方法和Collection中方法一致的。Set接口取出方式只有一种,迭代器。
        |--HashSet:底层数据结构是哈希表,线程是不同步的。无序,高效;
                HashSet集合保证元素唯一性:通过元素的hashCode方法,和equals方法完成的。
                当元素的hashCode值相同时,才继续判断元素的equals是否为true。
                如果为true,那么视为相同元素,不存。如果为false,那么存储。
                如果hashCode值不同,那么不判断equals,从而提高对象比较的速度。
      |--LinkedHashSet:有序,hashset的子类。
        |--TreeSet:对Set集合中的元素的进行指定顺序的排序。不同步。TreeSet底层的数据结构就是二叉树。
对于ArrayList集合,判断元素是否存在,或者删元素底层依据都是equals方法。
对于HashSet集合,判断元素是否存在,或者删除元素,底层依据的是hashCode方法和equals方法。

评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

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