Java ArrayList使用总结

Java ArrayList使用总结

本文主要介绍Java ArrayList的使用方法,包括以下内容:

  1. ArrayList的定义和初始化
  2. ArrayList的常用操作
  3. ArrayList的遍历
  4. ArrayList的常见问题及解决方案

1. ArrayList的定义和初始化

ArrayList是Java语言中的集合类,用于存储一组相同类型的元素。可以通过以下方式进行定义和初始化:

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);

上述代码使用了泛型,指定了ArrayList中存储的元素类型为Integer。在初始化时,可以省略元素个数,也可以指定。

2. ArrayList的常用操作

添加元素

可以使用add方法向ArrayList中添加元素。示例如下:

ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");

获取元素

可以使用get方法获取ArrayList中的元素。示例如下:

System.out.println(list.get(0)); // 输出:a

修改元素

可以使用set方法修改ArrayList中的元素。示例如下:

list.set(0, "d");
System.out.println(list.get(0)); // 输出:d

删除元素

可以使用remove方法删除ArrayList中的元素。示例如下:

list.remove(0);
System.out.println(list.get(0)); // 输出:b

判断元素是否存在

可以使用contains方法判断ArrayList中是否包含某个元素。示例如下:

System.out.println(list.contains("a")); // 输出:false
System.out.println(list.contains("b")); // 输出:true

获取ArrayList大小

可以使用size方法获取ArrayList的大小。示例如下:

System.out.println(list.size()); // 输出:2

3. ArrayList的遍历

可以使用for循环或者for-each循环来遍历ArrayList中的元素。示例如下:

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);

// 使用for循环遍历ArrayList
for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}

// 使用for-each循环遍历ArrayList
for (Integer num : list) {
    System.out.println(num);
}

4. ArrayList的常见问题及解决方案

ArrayList越界异常

当使用get方法访问ArrayList中不存在的元素时,会抛出IndexOutOfBoundsException异常。可以在访问之前使用size方法判断ArrayList的大小。

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);

int index = 3;
if (index >= list.size()) {
    System.out.println("索引越界!");
} else {
    System.out.println(list.get(index));
}

ArrayList遍历时删除元素异常

当使用for循环或者for-each循环遍历ArrayList时,如果在遍历过程中使用remove方法删除元素,会导致遍历异常。可以使用Iterator迭代器来遍历ArrayList并删除元素。

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);

// 使用Iterator迭代器遍历ArrayList
Iterator<Integer> it = list.iterator();
while (it.hasNext()) {
    Integer num = it.next();
    if (num == 2) {
        it.remove();
    }
}
System.out.println(list.toString()); // 输出:[1, 3]

示例说明

示例一:将一个数组中所有奇数存入ArrayList中

int[] nums = {1, 2, 3, 4, 5};
ArrayList<Integer> list = new ArrayList<>();
for (int num : nums) {
    if (num % 2 != 0) {
        list.add(num);
    }
}
System.out.println(list.toString()); // 输出:[1, 3, 5]

示例二:求一个ArrayList中的最大值

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(3);
list.add(2);

int max = Integer.MIN_VALUE;
for (int num : list) {
    if (num > max) {
        max = num;
    }
}
System.out.println(max); // 输出:3

以上就是Java ArrayList的使用总结,希望能对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java ArrayList使用总结 - Python技术站

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

相关文章

  • Java实现四则混合运算代码示例

    下面详细讲解一下”Java实现四则混合运算代码示例”的攻略。 一、分析需求 在实现四则混合运算之前,我们需要先分析需求,根据问题的实际情况,确定实现的功能和需求。 四则混合运算包括”加、减、乘、除”四种基本运算,以及括号嵌套。我们需要考虑以下几个方面的需求: 支持四则运算以及括号嵌套。 具有运算符优先级和算数优先级, 先乘除后加减。 括号中的表达式优先级最高…

    Java 2023年5月19日
    00
  • Java多线程(单例模式,堵塞队列,定时器)详解

    Java多线程(单例模式,堵塞队列,定时器)详解 简介 Java多线程对于Java程序员而言是非常重要的一个概念。Java天生支持多线程的并发操作,因此Java开发人员需要掌握多线程知识来提高程序的并发性和性能。 本文将重点介绍Java中多线程相关的三个重要概念:单例模式、阻塞队列和定时器。 单例模式 单例模式是一种常见的设计模式,它保证一个类只有一个实例,…

    Java 2023年5月18日
    00
  • 关于MVC的dao层、service层和controller层详解

    关于MVC的dao层、service层和controller层详解 在 MVC 设计模式中,通常将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。为了更好地组织代码,通常将控制器进一步分为三个层次:DAO 层、Service 层和 Controller 层。本文将详细讲解 MVC 的 DAO 层、Service 层…

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

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

    Java 2023年5月28日
    00
  • springboot 实战:异常与重定向问题

    我们来谈一下 “springboot 实战:异常与重定向问题” 的完整攻略,过程中我会包含两个示例。首先,我们需要了解一下什么是异常和重定向。 异常是指程序在执行过程中遇到了不正常的情况,导致程序不能继续执行的错误。在 Java 中,程序遇到异常时会抛出一个异常对象。为了保证程序的正常运行,需要对这些异常进行处理。而重定向是指当用户访问一个 URL 时,服务…

    Java 2023年5月27日
    00
  • jsp实现Servlet文件下载的方法

    实现Servlet文件下载可以通过JSP页面的form表单提交或通过Servlet的输出流方式进行,下面分别进行讲解。 通过JSP页面的form表单提交下载文件 在JSP页面中添加form表单,设置action为需要下载文件的Servlet路径。 “`html 下载文件 “` 其中,fileName为要下载文件的文件名。 在Servlet中获取要下载的文…

    Java 2023年6月15日
    00
  • Java文件与IO流操作原理详细分析

    Java文件与IO流操作原理详细分析 什么是IO流 Java中的IO流是用来处理输入和输出的流。IO流可以分为两种类型:字节流和字符流。它们之间的区别在于字节流以字节为单位进行操作,而字符流以字符为单位进行操作。不管是哪种类型的流,都分为输入流和输出流。输入流用于从文件中读取数据,输出流用于将数据写入到文件中。在Java IO流中,InputStream和R…

    Java 2023年5月20日
    00
  • Spring MVC官方文档学习笔记(一)之Web入门

    注: 该章节主要为原创内容,为后续的Spring MVC内容做一个先行铺垫 1.Servlet的构建使用 (1) 选择Maven -> webapp来构建一个web应用 (2) 构建好后,打开pom.xml文件,一要注意打包方式为war包,二导入servlet依赖,如下 <!– 打war包 –> <packaging>war…

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