Java中ArrayList类概述、常用方法及存储字符串并遍历

简介: ArrayList类概述、常用方法及存储字符串并遍历的简单示例

 一、ArrayList类概述

什么是集合:

提供一种存储空间可变的存储模型,存储的数据容量可以发生改变

ArrayList集合的特点:

底层是数组实现的,长度可以变化

泛型的使用:

用于约束集合中存储元素的数据类型

二、ArrayList类常用方法

构造方法

方法名 说明
public ArrayList() 创建一个空的集合对象

成员方法

方法名 说明
public boolean remove(Object o) 删除指定的元素,返回删除是否成功
public E remove(int index) 删除指定索引处的元素,返回被删除的元素
public E set(int index,E element) 修改指定索引处的元素,返回被修改的元素
public E get(int index) 返回指定索引处的元素
public int size() 返回集合中的元素的个数
public boolean add(E e) 将指定的元素追加到此集合的末尾
public void add(int index,E element) 在此集合中的指定位置插入指定的元素

示例代码:

public class ArrayListDemo02 {
    public static void main(String[] args) {
        //创建集合
        ArrayList<String> array = new ArrayList<String>();
        //添加元素
        array.add("hello");
        array.add("world");
        array.add("java");
        //public boolean remove(Object o):删除指定的元素,返回删除是否成功
        System.out.println(array.remove("world"));
        System.out.println(array.remove("javaee"));
        //public E remove(int index):删除指定索引处的元素,返回被删除的元素
        System.out.println(array.remove(1));
        //IndexOutOfBoundsException
        System.out.println(array.remove(3));
        //public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
        System.out.println(array.set(1,"javaee"));
        //IndexOutOfBoundsException
        System.out.println(array.set(3,"javaee"));
        //public E get(int index):返回指定索引处的元素
        System.out.println(array.get(0));
        System.out.println(array.get(1));
        System.out.println(array.get(2));
        //public int size():返回集合中的元素的个数
        System.out.println(array.size());
        //输出集合
        System.out.println("array:" + array);
    }
}

image.gif

三、ArrayList存储字符串并遍历

需求:创建一个存储字符串的集合,存储3个字符串元素,使用程序实现在控制台遍历该集合

思路:

1、创建集合对象

2、往集合中添加字符串对象

3、遍历集合,首先要能够获取到集合中的每一个元素,这个通过get(int index)方法实现

4、遍历集合,其次要能够获取到集合的长度,这个通过size()方法实现

5、遍历集合的通用格式

代码实现:

public class ArrayListTest01 {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<String> array = new ArrayList<String>();
        //往集合中添加字符串对象
        array.add("张三");
        array.add("李四");
        array.add("王五");
        //遍历集合,其次要能够获取到集合的长度,这个通过size()方法实现
        System.out.println(array.size());
        //遍历集合的通用格式
        for(int i=0; i<array.size(); i++) {
            String s = array.get(i);
            System.out.println(s);
        }
    }
}

image.gif

四、ArrayList存储学生对象并遍历

需求:创建一个存储学生对象的集合,存储3个学对象,使用程序实现在控制台遍历该集合

思路:

1、定义学生类

2、创建集合对象

3、创建学生对象

4、添加学生对象到集合中

5、遍历集合,采用通用遍历格式实现

代码实现:

public class ArrayListTest02 {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<Student> array = new ArrayList<>();
        //创建学生对象
        Student s1 = new Student("张三", 30);
        Student s2 = new Student("李四", 33);
        Student s3 = new Student("王五", 28);
        //添加学生对象到集合中
        array.add(s1);
        array.add(s2);
        array.add(s3);
        //遍历集合,采用通用遍历格式实现
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            System.out.println(s.getName() + "," + s.getAge());
        }
    }

image.gif

五、ArrayList存储学生对象并遍历升级版

需求:创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合,学生的姓名和年龄来自于键盘录入

思路:

1、定义学生类,为了键盘录入数据方便,把学生类中的成员变量都定义为String类型

2、创建集合对象

3、键盘录入学生对象所需要的数据

4、创建学生对象,把键盘录入的数据赋值给学生对象的成员变量

5、往集合中添加学生对象

6、遍历集合,采用通用遍历格式实现

代码实现:

public class ArrayListTest {
    public static void main(String[] args) {
        //创建集合对象
        ArrayList<Student> array = new ArrayList<Student>();
        //为了提高代码的复用性,我们用方法来改进程序
        addStudent(array);
        addStudent(array);
        addStudent(array);
        //遍历集合,采用通用遍历格式实现
        for (int i = 0; i < array.size(); i++) {
            Student s = array.get(i);
            System.out.println(s.getName() + "," + s.getAge());
        }
    }
    /*
        两个明确:
            返回值类型:void
            参数:ArrayList<Student> array
     */
    public static void addStudent(ArrayList<Student> array) {
        //键盘录入学生对象所需要的数据
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生姓名:");
        String name = sc.nextLine();
        System.out.println("请输入学生年龄:");
        String age = sc.nextLine();
        //创建学生对象,把键盘录入的数据赋值给学生对象的成员变量
        Student s = new Student();
        s.setName(name);
        s.setAge(age);
        //往集合中添加学生对象
        array.add(s);
    }
}

image.gif


目录
打赏
0
0
0
0
32
分享
相关文章
|
3天前
|
Java 中的 toString() 方法详解:为什么它如此重要?
在Java开发中,`toString()`方法至关重要,用于返回对象的字符串表示。默认实现仅输出类名和哈希码,信息有限且不直观。通过重写`toString()`,可展示对象字段值,提升调试效率与代码可读性。借助Lombok的`@Data`注解,能自动生成标准化的`toString()`方法,简化开发流程,尤其适合字段较多的场景。合理运用`toString()`,可显著提高开发效率与代码质量。
23 0
Java 中的 equals 方法:看似简单,实则深藏玄机
本文深入探讨了Java中`equals`方法的设计与实现。默认情况下,`equals`仅比较对象引用是否相同。以`String`类为例,其重写了`equals`方法,通过引用判断、类型检查、长度对比及字符逐一比对,确保内容相等的逻辑。文章还强调了`equals`方法需遵循的五大原则(自反性、对称性等),以及与`hashCode`的关系,避免集合操作中的潜在问题。最后,对比了`instanceof`和`getClass()`在类型判断中的优劣,并总结了正确重写`equals`方法的重要性,帮助开发者提升代码质量。
23 1
|
3天前
|
java中一个接口A,以及一个实现它的类B,一个A类型的引用对象作为一个方法的参数,这个参数的类型可以是B的类型吗?
本文探讨了面向对象编程中接口与实现类的关系,以及里氏替换原则(LSP)的应用。通过示例代码展示了如何利用多态性将实现类的对象传递给接口类型的参数,满足LSP的要求。LSP确保子类能无缝替换父类或接口,不改变程序行为。接口定义了行为规范,实现类遵循此规范,从而保证了多态性和代码的可维护性。总结来说,接口与实现类的关系天然符合LSP,体现了多态性的核心思想。
11 0
Java NIO学习(一):Java NIO概述
IO 的操作方式通常分为几种:同步阻塞 BIO、同步非阻塞 NIO、异步非阻塞 AIO。
187 0
Java NIO学习(一):Java NIO概述
java基础学习_概述_day01总结
======================================================================================================================================================...
1854 0
JAVA学习中Swing概述中的JFrame学习
package com.swing;import java.awt.Color;import java.awt.Container;import java.awt.event.WindowAdapter;import javax.
1161 0
|
2月前
|
【Java并发】【线程池】带你从0-1入门线程池
欢迎来到我的技术博客!我是一名热爱编程的开发者,梦想是编写高端CRUD应用。2025年我正在沉淀中,博客更新速度加快,期待与你一起成长。 线程池是一种复用线程资源的机制,通过预先创建一定数量的线程并管理其生命周期,避免频繁创建/销毁线程带来的性能开销。它解决了线程创建成本高、资源耗尽风险、响应速度慢和任务执行缺乏管理等问题。
188 60
【Java并发】【线程池】带你从0-1入门线程池
|
5天前
|
【源码】【Java并发】从InheritableThreadLocal和TTL源码的角度来看父子线程传递
本文涉及InheritableThreadLocal和TTL,从源码的角度,分别分析它们是怎么实现父子线程传递的。建议先了解ThreadLocal。
34 4
【源码】【Java并发】从InheritableThreadLocal和TTL源码的角度来看父子线程传递
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等