黑马程序员技术交流社区

标题: 提问 [打印本页]

作者: 星辰shine    时间: 2016-3-15 23:30
标题: 提问
弱弱的问一句,集合和数据结构的关系

作者: ameanboy    时间: 2016-3-16 13:00
本帖最后由 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代码实现,我这里不展开了哈

作者: Newsir    时间: 2016-3-16 15:31
集合底层的存储结构都是数据结构的知识
作者: 星辰shine    时间: 2016-3-16 21:59
谢谢了喽




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2