page contents
Nen
Nen - 程序员

性别: 天津 - 天津市 注册于 2021-06-23

向TA求助
2850金币数
43180 经验值
1个粉丝
主页被访问 6249 次

3096 个回答

0 赞同

ArrayList 和 LinkedList 的区别?

ArrayList:底层是基于数组实现的,查找快,增删较慢; LinkedList:底层是基于链表实现的。确切的说是循环双向链表(JDK1.6 之前是双向循环链表、JDK1.7 之后取消了循环),查找慢、增删快。LinkedList 链表由一系列表项连接而成,一个表项包含 3 个部分:元素内容、前驱表和后驱表。链表内部有一个 header 表项,既是链...

回答于 2022-01-19 15:39

0 赞同

ArrayList 实现 RandomAccess 接口有何作用?为何 LinkedList 却...

RandomAccess 接口只是一个标志接口,只要 List 集合实现这个接口,就能支持快速随机访问。通过查看 Collections 类中的 binarySearch() 方法,可以看出,判断 List 是否实现 RandomAccess 接口来实行indexedBinarySerach(list, key) 或 iteratorBinarySerach(list, key)方法。再通过查看这两个方法的源码发现:实现 Random...

回答于 2022-01-19 15:38

0 赞同

ArrayList 的扩容机制?

当使用 add 方法的时候首先调用 ensureCapacityInternal 方法,传入 size+1 进去,检查是否需要扩充 elementData 数组的大小; newCapacity = 扩充数组为原来的 1.5 倍(不能自定义),如果还不够,就使用它指定要扩充的大小 minCapacity ,然后判断 minCapacity 是否大于 MAX_ARRAY_SIZE(Integer.MAX_VALUE – 8) ,如果大于...

回答于 2022-01-19 15:37

0 赞同

Array 和 ArrayList 有何区别?什么时候更适合用 Array?

Array 可以容纳基本类型和对象,而 ArrayList 只能容纳对象; Array 是指定大小的,而 ArrayList 大小是不固定的。 什么时候更适合使用 Array: 如果列表的大小已经指定,大部分情况下是存储和遍历它们; 对于遍历基本数据类型,尽管 Collections 使用自动装箱来减轻编码任务,在指定大小的基本类型的列表上工作也会变...

回答于 2022-01-19 15:37

0 赞同

HashMap 的实现原理/底层数据结构?JDK1.7 和 JDK1.8

JDK1.7:Entry数组 + 链表 JDK1.8:Node 数组 + 链表/红黑树,当链表上的元素个数超过 8 个并且数组长度 >= 64 时自动转化成红黑树,节点变成树节点,以提高搜索效率和插入效率到 O(logN)。Entry 和 Node 都包含 key、value、hash、next 属性。

回答于 2022-01-19 15:36

0 赞同

HashMap 的 put 方法的执行过程?

当我们想往一个 HashMap 中添加一对 key-value 时,系统首先会计算 key 的 hash 值,然后根据 hash 值确认在 table 中存储的位置。若该位置没有元素,则直接插入。否则迭代该处元素链表并依次比较其 key 的 hash 值。如果两个 hash 值相等且 key 值相等(e.hash hash && ((k = e.key) key || key.equals(k))),则用...

回答于 2022-01-19 15:35

0 赞同

final 修饰 StringBuffer 后还可以 append 吗?

可以。final 修饰的是一个引用变量,那么这个引用始终只能指向这个对象,但是这个对象内部的属性是可以变化的。

回答于 2022-01-18 14:28

0 赞同

Java 中的 IO 流的分类?说出几个你熟悉的实现类?

按功能来分:输入流(input)、输出流(output) 按类型来分:字节流 和 字符流。 字节流:InputStream/OutputStream 是字节流的抽象类,这两个抽象类又派生了若干子类,不同的子类分别处理不同的操作类型。

回答于 2022-01-18 14:27

0 赞同

字节流和字符流有什么区别?

字节流按 8 位传输,以字节为单位输入输出数据,字符流按 16 位传输,以字符为单位输入输出数据。 但是不管文件读写还是网络发送接收,信息的最小存储单元都是字节。

回答于 2022-01-18 14:26

0 赞同

finally 块中的代码什么时候被执行?

不一定。下面列举两种执行不到的情况: (1)当程序进入 try 块之前就出现异常时,会直接结束,不会执行 finally 块中的代码; (2)当程序在 try 块中强制退出时也不会去执行 finally 块中的代码,比如在 try 块中执行 exit 方法。

回答于 2022-01-18 14:25