Java ArrayList使用总结

yizhihongxing

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日

相关文章

  • 详解Springboot2.3集成Spring security 框架(原生集成)

    我来为你详细讲解“详解Springboot2.3集成Spring security框架(原生集成)”的完整攻略。 1. 简介 Spring Security是Spring Framework的一个安全框架,为Spring应用程序提供综合的认证(Authentication)和授权(Authorization)解决方案。这个框架提供了一种方式来将应用程序的用户…

    Java 2023年5月20日
    00
  • JSP 获取本地图片的实例详解

    想要获取本地图片,可以通过JSP中的文件上传功能实现。下面是具体的步骤: 步骤一、在JSP页面中添加form表单,用来上传图片文件。 <form method="post" enctype="multipart/form-data" action="upload.jsp"> <in…

    Java 2023年6月15日
    00
  • SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解

    一、概述 本文将详细介绍如何在SpringBoot应用程序中使用JmsTemplate集成队列模式和主题模式。本文将提供XML和JavaConfig两种配置方式。我们将从简单的应用程序开始,使用单个生产者和单个队列或主题。然后,我们将更改为多个生产者和多个队列和主题。通过本文,您将了解如何在SpringBoot应用程序中集成消息传递,以便实现单个或分布式系统…

    Java 2023年5月19日
    00
  • JAVA实战项目实现客户选购系统详细流程

    JAVA实战项目实现客户选购系统详细流程攻略 系统需求分析 客户选购系统是一个基于Web的在线应用程序。通过该系统客户可以在网上浏览商品并进行购买。系统需要满足以下需求: 提供商品浏览功能,客户可以浏览商品分类和商品详细信息。 提供购物车管理功能,客户可以将商品加入购物车,修改购物车中商品数量,删除购物车中商品等。 提供订单管理功能,客户可以查看自己的订单、…

    Java 2023年5月30日
    00
  • js中let能否完全替代IIFE

    首先,让我们了解一下IIFE(Immediately Invoked Function Expression)和let的定义。 IIFE是一种JavaScript函数,它可以立即执行,并且只执行一次。通常在IIFE中定义局部变量,可以避免全局变量的污染。 let是ES6中引入的块级作用域声明变量的关键字,可以定义块级作用域中的变量。 那么,js中let能否完…

    Java 2023年6月15日
    00
  • Java如何在 Word 中设置上、下标

    Java在Word中设置上、下标,可以通过POI库来实现。下面是详细的攻略: 导入POI库 首先需要导入POI库,可从官网下载并在项目中引用。以下是Maven依赖: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifa…

    Java 2023年5月26日
    00
  • Java有效处理异常的三个原则

    Java有效处理异常的三个原则,分别是:及早捕获、适当处理和完整释放资源。下面我将详细为您讲解这三个原则的具体内容和攻略。 一、及早捕获 及早捕获指的是,在程序运行时,应尽可能地在可能产生异常的地方进行异常捕获,防止异常向上传播导致程序崩溃。具体攻略如下: 在可能产生异常的方法或代码块中使用 try-catch 语句捕获异常,并在 catch 语句中打印异常…

    Java 2023年6月15日
    00
  • 详解spring boot应用启动原理分析

    详解Spring Boot应用启动原理分析 Spring Boot是一个流行的Java框架,可以帮助开发人员快速构建和部署应用程序。在本文中,我们将详细讲解Spring Boot应用启动的原理分析,包括Spring Boot的自动配置、启动流程、应用上下文等。 Spring Boot的自动配置 Spring Boot的自动配置是Spring Boot的核心特…

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