栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的List、Set、Map面试常问知识点总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的List、Set、Map面试常问知识点总结

一:集合结构

1:List:

        有序(元素存入集合的顺序和取出的顺序已知)、可以重复存储、具有索引下标。常用的实现类:ArrayList、LinkedList、Vector。查找元素效率高,插入删除元素效率低。

2:Set:

       无序(存入、取出的顺序有可能不一致)、不可重复存储、没有索引下标。常用的实现类:HashSet、LinkedHashSet、TreeSet。查找元素效率低,插入删除效率高。

3:Map:

        是一个键值对集合,(Key)键 无序、唯一;(Value)值 允许重复。常用的实现类:HashMap、TreeMap、HashTable、LinkedHashMap、ConcurrentHashMap。

二:集合底层所使用的数据结构

Collection:

        (1):List

                        ArrayList:Object数组。

                        Vector:Object数组。

                        LinkedList:双向循环链表。

        (2):Set

                        HashSet(无序、唯一):采用HashMap实现。

                        TreeSet(有序、唯一):红黑树(自平衡的排序二叉树)。

        (3):Map

                        HashMap:JDK1.8之前HashMap由数组+链表组成。数组是HashMap的主体,链表则为了解决哈希值冲突而存在("拉链法"解决冲突)。JDK1.8之后,在解决哈希值冲突上发生了变化,当链表长度大于阈值(默认为8)时,将链表转化为红黑树,以减少冲突。

                        LinkedHashMap:LinkedHashMap继承自HashMap,底层采用的仍是数组+链表或红黑树组成。

                        HashTable:数组+链表组成。数组是HashTable的主体,链表则是为了解决哈希冲突而存在。

                        TreeMap:红黑树(自平衡的排序二叉树)。

三:HashMap的实现原理

        HashMap是基于Hash算法实现的,其具体的判断过程如下图所示。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/856785.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号