Java ArrayList集合详解(Java动态数组)

Java ArrayList集合详解(Java动态数组)

什么是Java ArrayList?

在Java中,ArrayList是一种可以动态增长和缩小的数组序列,它是Array和Vector的非同步版本。它通过继承AbstractList类和实现List接口来提供了大小可以改变的数组的操作。

Java ArrayList的常用方法

1. 添加元素

ArrayList提供了以下方法来添加元素:

public boolean add(E e);
public void add(int index, E element);
public boolean addAll(Collection<? extends E> c);
public boolean addAll(int index, Collection<? extends E> c);

其中:

  • add()方法可以添加一个元素到ArrayList中的末尾,返回值为true;
  • add(index, element)方法可以将元素插入到ArrayList的指定位置,返回值为void;
  • addAll()方法可以添加一个集合中的所有元素到ArrayList中,返回值为true;
  • addAll(index, c)方法可以插入一个集合中的所有元素到ArrayList的指定位置,返回值为true。

2. 删除元素

ArrayList提供了以下方法来删除元素:

public E remove(int index);
public boolean remove(Object o);
public boolean removeAll(Collection<?> c);
public void clear();

其中:

  • remove(index)方法可以删除ArrayList中指定位置的元素,返回值为被删除的元素;
  • remove(o)可以删除ArrayList中指定的元素,返回值为是否删除成功;
  • removeAll()方法可以删除ArrayList中所有出现在指定集合中的元素,返回值为是否删除成功;
  • clear()方法可以清空ArrayList中的所有元素。

3. 获取元素

ArrayList提供了以下方法来获取元素:

public E get(int index);
public boolean contains(Object o);
public int indexOf(Object o);
public int lastIndexOf(Object o);
public ListIterator<E> listIterator();
public ListIterator<E> listIterator(int index);

其中:

  • get(index)方法可以获取ArrayList中指定位置的元素;
  • contains(o)方法可以判断ArrayList是否包含指定的元素,返回值为true或false;
  • indexOf(o)方法可以获取ArrayList中首次出现指定元素的下标,若不存在则返回-1;
  • lastIndexOf(o)方法可以获取ArrayList中最后一次出现指定元素的下标,若不存在则返回-1;
  • listIterator()方法可以返回一个遍历ArrayList的迭代器;
  • listIterator(index)方法可以从指定下标处开始返回一个遍历ArrayList的迭代器。

4. 修改元素

ArrayList提供了以下方法来修改元素:

public E set(int index, E element);

其中:

  • set(index, element)方法可以将指定位置的元素替换为新元素,并返回被替换的旧元素。

示例说明

示例1: 创建并添加元素到ArrayList中

import java.util.ArrayList;

public class ArrayListDemo {

    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();

        //往list中添加元素
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        list.add("Peach");

        //输出ArrayList中的所有元素
        for (String str : list) {
            System.out.println(str);
        }
    }
}

输出结果为:

Apple
Banana
Orange
Peach

示例2: 在ArrayList中查找元素并删除

import java.util.ArrayList;

public class ArrayListDemo {

    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();

        //往list中添加元素
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        list.add("Peach");

        //判断list中是否包含元素"Banana"
        if (list.contains("Banana")) {
            //获取元素"Banana"的下标
            int index = list.indexOf("Banana");
            //删除元素"Banana"
            list.remove(index);
        }

        //输出ArrayList中的所有元素
        for (String str : list) {
            System.out.println(str);
        }
    }
}

输出结果为:

Apple
Orange
Peach

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java ArrayList集合详解(Java动态数组) - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Javascript实现的CSS代码高亮显示

    下面详细讲解“Javascript实现的CSS代码高亮显示”的完整攻略。 1. 如何实现代码高亮显示 第一步:在HTML中引入CSS样式表和Javascript文件 <!DOCTYPE html> <html> <head> <title>代码高亮实现</title> <link rel=&q…

    Java 2023年6月15日
    00
  • JSP监听器用法分析

    JSP监听器用法分析 什么是JSP监听器 JSP监听器是监听JSP页面对象(即JspPage对象)创建、销毁、初始化、属性发生更改和请求响应等事件的一种对象。通过在这些事件发生时执行自定义逻辑进行应用程序的初始化和维护。 JSP监听器的使用 步骤一:编写JSP监听器 实现javax.servlet.jsp.JspPageListener接口。 编写在Jsp创…

    Java 2023年6月15日
    00
  • spring boot如何添加拦截器

    首先,为了添加拦截器,我们需要创建一个实现了 HandlerInterceptor 接口的拦截器类,并在 Spring Boot 中添加拦截器配置。以下是具体的步骤: 创建拦截器类 创建一个拦截器类,例如 CustomInterceptor,实现HandlerInterceptor 接口。我们可以在拦截器的生命周期中重写不同的方法以执行相关操作,比如在请求处…

    Java 2023年5月31日
    00
  • maven 隐式依赖引起的包冲突解决办法

    当使用Maven构建项目时,一个常见的问题是来自传递依赖的冲突。这个问题的根源在于Maven隐式依赖的传递机制。本文将介绍如何通过Maven来解决这个问题,主要包括以下几个方面: 了解Maven的依赖传递机制 利用Maven Dependency Plugin分析依赖冲突 使用依赖排除,去除冲突依赖 了解 Maven 的依赖传递机制 Maven的依赖传递机制…

    Java 2023年5月20日
    00
  • SpringBoot启动失败的解决方法:A component required a bean of type ‘xxxxxxx‘ that could not be found.

    当我们在使用 SpringBoot 框架时,有时候会遇到启动失败的情况,报错信息通常会显示“ A component required a bean of type ‘xxxxxxx‘ that could not be found.”等类似的信息。这是由于 SpringBoot 框架无法找到相应的 bean 对象导致的。下面是一些解决启动失败的攻略: 确认…

    Java 2023年5月20日
    00
  • java在pdf中生成表格的方法

    生成表格是PDF文档中常见的需求之一,Java中有很多第三方库可以实现这一功能。以下是使用iText库生成表格的步骤: 第一步:导入iText库 在使用iText库之前,需要在项目中导入iText的jar文件。可以通过Maven等构建工具,或手动下载并导入jar文件。 第二步:创建PDF文档 可以使用iText库创建PDF文档,如下所示: Document …

    Java 2023年5月20日
    00
  • Triple协议支持Java异常回传设计实现详解

    Triple协议支持Java异常回传设计实现详解 简介 Triple是一个基于Dubbo及其生态的,由阿里巴巴开源的微服务框架。其提供了完整的远程调用协议,支持Dubbo、gRPC、Hessian和Http等多种协议,同时也支持多种语言,包括Java、Go、Node.js,C++等。Triple的主要目标是提供高性能、轻量级、易使用的微服务解决方案。 本文将…

    Java 2023年5月27日
    00
  • Java 如何优雅的抛出业务异常

    Java 抛出业务异常是我们在日常开发中难免会遇到的问题,如何优雅的抛出业务异常已成为现代开发者必须掌握的技能之一。接下来,我将详细讲解 Java 如何优雅的抛出业务异常的完整攻略。 1. 异常的定义 在 Java 中,可以通过继承 Exception 或者 RuntimeException 来定义自己的业务异常。一般来说,Exception 异常适用于业务…

    Java 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部