您的位置:首页 > 职场人生

2019-java面试基础总结

2019-08-12 17:46 274 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_40091084/article/details/99316894

一、基础问题

**

1. -------------基础

**

2. Java基本数据类型,所占字节。

Float,4.double,8.byte,1.short,2.int,4.long,8.char,2.Boolean,1

3. 字符窜的分割,替换,查找。

Replace,替换。Split,切割。Match,匹配。

5. List,set,map集合的区别,以及使用效率。

List有放入顺序,元素可重复,set无法拥有重复的元素,内部排序,map保存key-value值,可存多值

6. 浅谈ArrayList、linkedlist和vetor的区别。

1.ArrayList底层由数组实现,插入速度较慢,查询速度快,运行效率高,线程同步。

2.LinkedList:采用的是双向链表的方式进行存储数据的,查询和修改速度慢,但是增加和删除速度快

3.Vector:底层由数组实现,查询慢,增删慢,线程同步。

7. 简述HashMap的工作原理。

在讲插入过程之前,我们先来了解一下哈希表的结构。哈希表底层结构是一个Map.Entry<K,
V>[]数组, 可以先将它简单理解为一个包含键和值的结点的数组。在哈希表中,索引的每个单独的位置叫做桶(bucket)。底层的数组结构保证了哈希表的随机查找⚪(1)。

具体的插入过程如下:

(1)对插入的K值做hashCode()方法,计算该K值的哈希值。

(2)对该哈希值做hash(key)方法,得到该键所映射到的索引。

(3)若该桶(bucket)内无键值对
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: