知识库取名 toBeBetterJavaer,即 To Be Better Javaer,意为「成为一名更好的 Java 程序员」,是我自学 Java 以来所有原创文章和学习资料的大聚合。内容包括 Java 基础、Java 并发编程、Java 虚拟机、Java 企业级开发、Java 面试等核心知识点。据说每一个优秀的 Java 程序员都 ...
ArrayList 基于 动态数组 实现,内存中是连续的存储空间。当数组容量不足时,会触发扩容(通常为原容量的1.5倍)。 LinkedList 基于 双向链表 实现,每个元素(节点)通过前后指针连接,内存中不要求连续存储。 多数情况下,ArrayList 更利于查找,LinkedList 更利于 ...
Java提供了丰富的集合框架,包括ArrayList、LinkedList、HashSet、HashMap等。每种集合类都有其特定的用途和适用场景。通过使用集合,我们可以方便地处理和操作数据,提高程序的灵活性和效率。 在Java中,集合是一组对象的容器,用于存储、管理和操作对象。
在翻看 Java 1.8 源码发现,LinkedList 里面 checkElementIndex 和 checkPositionIndex 的实现基本一致,那是出于什么目的去实现两个方法呢?
ArrayList是一个可以处理变长数组的类型,这里不局限于“数”组,ArrayList是一个泛型类,可以存放任意类型的对象。顾名思义,ArrayList是一个数组列表,因此其内部是使用一个数组来存放对象的,因为Object是一切类型的父类,因而ArrayList内部是有一个Object类型的 ...
ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本。ArrayList 是以数组实现的,遍历时很快,但是插入、删除时都需要移动后面的元素,效率略差些。它提供了如下一些好处: boolean add(Object obj) 将指定元素obj追加到集合的末尾 Object get(int ...