添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

ArrayList

ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。

ArrayList 继承了 AbstractList ,并实现了 List 接口。

ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下:

import java.util.ArrayList; // 引入 ArrayList 类
ArrayList<E> objectName = new ArrayList<>();  // 初始化
  • E: 泛型数据类型,用于设置 objectName 的数据类型,只能为引用数据类型。
  • objectName: 对象名。

ArrayList 是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。
实例:

import java.util.ArrayList;
public class RunoobTest {
    public static void main(String[] args) {
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        System.out.println(sites);
		System.out.println(sites.get(1));  // 访问第二个元素
		sites.set(2, "Wiki"); // 第一个参数为索引位置,第二个为要修改的值
		sites.remove(3); // 删除第四个元素
		System.out.println(sites.size());

LinkedList

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。

链表可分为单向链表和双向链表。

一个单向链表包含两个值: 当前节点的值和一个指向下一个节点的链接。

一个双向链表有三个整数值: 数值、向后的节点链接、向前的节点链接。

Java LinkedList(链表) 类似于 ArrayList,是一种常用的数据容器。

与 ArrayList 相比,LinkedList 的增加和删除的操作效率更高,而查找和修改的操作效率较低。

以下情况使用 ArrayList :

  • 频繁访问列表中的某一个元素。
  • 只需要在列表末尾进行添加和删除元素操作。

以下情况使用 LinkedList :

  • 你需要通过循环迭代来访问列表中的某些元素。
  • 需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。

LinkedList 类位于 java.util 包中,使用前需要引入它,语法格式如下:

// 引入 LinkedList 类
import java.util.LinkedList; 
LinkedList<E> list = new LinkedList<E>();   // 普通创建方法
LinkedList<E> list = new LinkedList(Collection<? extends E> c); // 使用集合创建链表
import java.util.LinkedList;
public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        System.out.println(sites);
		// 使用 addFirst() 在头部添加元素
        sites.addFirst("Wiki");
		// 使用 addLast() 在尾部添加元素
        sites.addLast("Wiki");
		// 使用 removeFirst() 移除头部元素
        sites.removeFirst();
		// 使用 removeLast() 移除尾部元素
        sites.removeLast();
		// 使用 getFirst() 获取头部元素
        System.out.println(sites.getFirst());
		// 使用 getLast() 获取尾部元素
        System.out.println(sites.getLast());
				
Java LinkedList 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。 链表可分为单向链表和双向链表。 一个单向链表包含两个值: 当前节点的值和一个指向下一个节点的链接。 一个双向链表有三个整数值: 数值、向后的节点链接、向前的节点链接。 Java LinkedList(链表) 类似于 ArrayList,是一种常用的数据容器。 与 ArrayList 相比,LinkedList 的增加和删除对操作效率更
一.认识ArrayList: 1.ArrayList是一个动态的数组(集合),可以在生成后对其中的内容进行增删改。相对于Array(静态数组),使用更灵活,可以对其内容进行修改。 2.实现的接口是Collection和Iterable、List、RandomAccess、Cloneable、Serializable接口。 3.ArrayList的父类是AbstractList,它的子类...
重写(Override)与重载(Overload)的区别 Java确定一个方法的三要素:①调用者,类还是对象。②方法名。③ 形参列表。方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载主要发生在同一类的多个同名方法之间。重写主要发生在子类和父类的同名方法之间。 方法重载:在同一类中包含了两个或两个以上的方法,其方法名相同,但形参列表不同。重载要求两同一不同:同一个类中方法名相同,形参列表不同(参数的顺序,类型,个数不同)。至于方法的其他部分,如返回
无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班。报班通常太费钱,时间又不自由;自学又不知道如何下手,担心自己坚持不下来。怎么办呢? 本文将解答你自学Java的N种问题: 你适不适合自学Java呢? 如何自学Java呢? 有没有靠谱的Java自学资料推荐? 怎样让自己看到进步,坚持下来? 以上问题,课程中我都会呕心给你梳理答案,赶快开始学习吧。 什么人适合自学Java 在自学前你可能会因为自身的条件有很多困惑和疑虑,不清楚自己是否适合自学Java。下面我们来做个测验
import javax.print.attribute.Size2DSyntax; import javax.xml.transform.Templates; import javax.xml.ws.AsyncHandler; public class LinkedList<E> { private Node last; private Node first; privat...
首先作为一个菜鸟刚刚学习ArrayList其实并不是很了解,甚至可以说是不懂,既然不懂就要学习,所以发表一下自己所知道的,一个通过写来加深记忆和锻炼自己,另一个也希望各位大佬们的补充和修正来纠正自己的不足和错误。        那么就不多说了,正式开始和大家说我对ArrayLis的理解。        首先说一下ArrayList的基本格式:        ArrayList 对象名=new
JAVA类库分析之LinkedList         在java源码中对LinkedList有详细的描述:LinkedList实现了List接口和Deque接口,即表示它支持List的一些常规操作如insert,get,remove等;同时它还支持FIFO双向队列操作如add,poll操作,以及栈和队列的其他操作等。         与Vector和ArrayList不同之处在于