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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 星辰shine 中级黑马   /  2016-3-15 23:30  /  690 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

弱弱的问一句,集合和数据结构的关系

3 个回复

倒序浏览
本帖最后由 ameanboy 于 2016-3-16 13:02 编辑

几大集合:
首先是单列集合:
1、有序可重复元素列表:
    a. ArrayList: 底层是数组实现
    b. LinkedList: 底层使用链表实现
    c. Vector: 底层使用数组实现

2、无序不可重复元素集合
    a. HashSet: 哈希集合,存取无序,元素唯一,底层使用哈希算法实现存储和查询
        i. LinkedHashSet: 链哈希表,存取顺序一致,元素唯一。可以想象成一个二维数组,第一维用链表实现,第二维用哈希算法实现(求大神补充纠正)
       ii. TreeSet: 二叉树算法实现,元素唯一,可对元素实现排序;

然后是双列集合Map(键值成对),第一列为键Key,唯一;第二列为Value值
1、TreeMap:key集合为二叉树算法实现,可对key进行排序;
2、HashMap:key集合为哈希算法实现,可存Null键及Null值;
3、HashTable:key集合为哈希算法实现,不可存Null值与键
这些集合的核心算法数据结构就是 数组,链表,哈希,二叉树,楼主有兴趣可深入百度一下各个算法的特点和java代码实现,我这里不展开了哈
回复 使用道具 举报
集合底层的存储结构都是数据结构的知识
回复 使用道具 举报
谢谢了喽
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马