【校招VIP】java语言类和对象之map、set集合

99 阅读3分钟

考点介绍:

map、set集合相关内容是校招面试的高频考点之一。Map和set是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。

本期分享的java语言类和对象之map、set集合,分为试题、文章以及视频三部分。

答案详情解析和文章内容可点击下方链接即可查看!

一、考点题目

1.HashMap 为什么线程不安全?

解答:JDK7 存在死循环和数据丢失问题。数据丢失:1、并发赋值被覆盖: 在 createEntry 方法中,新添加的元素直接放在头部,使元素之后可以被更快访问,但如果两个线程同时执行到此处,会导致其中一个线程的赋值被覆盖……

2.Java都有哪些map,分别怎么实现的,具体讲

解答: map的主要特点是键值对的形式,一一对应,且一个key只对应1个value,且key唯一。其常用的map实现类主要有HashMap、HashTable、TreeMap、ConcurrentHashMap、LinkedHashMap、weakHashMap等等……

3.HashMap树化条件?退化条件?

解答:树化条件:HashMap具体实现类中有两个变量,static final int TREEIFY_THRESHOLD = 8;,static final int MIN_TREEIFY_CAPACITY = 64;哈希表的链表树化成红黑树有两个条件:……

4.HashMap和HashTable的区别

解答:两者父类不同,HashMap是继承自AbstractMap类,Hashtable是继承自Dictionary类。不过它们都实现了同时 实现了map、Cloneable(可复制)、Serializable(可序列化)这三个接口……

5.jdk7和jdk8的hashmap有什么区别

解答:DK7是数组+链表,JDK8 是数组+链表/红黑树。1、链表插入方式的不同,在1.7之前,链表元素的插入采用的是头插法,也就是说,当有新结点进来时,会在插入在链表的头部。很明显,由于不用遍历链表,这种插入方式的效率是更高的。但是1.8之后,因为当结点插入的时候……

(答案点击下方链接查看哦)

二、考点文章

1.三大集合:List、Map、Set的区别与联系

结构特点。1、 List和Set是存储单列数据的集合,Map是存储键值对这样的双列数据的集合;2、List中存储的数据是有顺序的,并且值允许重复;Map中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;Set中存储的数据是无顺序的,并且不允许重复,但元素在……

2.【校招VIP】java的Map集合 详解Map集合

Map集合的特点:1.Map是一个双列集合,一个元素包含两个值(一个key,一个value)。2.Map集合中的元素,key和value的数据类型可以相同,也可以不同。3.Map中的元素,key不允许重复,value可以重复……

3.【校招VIP】java中的Set集合

Set集合类似于一个罐子,程序可以依次把多个对象“丢进”Set集合,而Set集合通常不能记住元素的添加顺序。实际上Set就是Collection只是行为略有不同(Set不允许包含重复元素)。Set集合不允许包含相同的元素,如果试图把两个相同元素加入同一个Set集合中,则添加操作失败……

三、考点视频

1.String、StringBuilder的区别

本题是面试常考题之一,但是很多同学没有真实理解或使用过相应的类,只靠记忆。在面试的时候,容易被问住。三个对象底层都是基于数组实现,数组就存在连续内存的扩张。即会产生性能和线程安全问题……

移动端链接:m.xiaozhao.vip/dTopic/deta…

PC端链接:xiaozhao.vip/dTopic/deta…

校招考点专题宣传单 (2)_750x1227.png