JAVA---集合ArrayList

集合

  1. 自动扩容 ,集合长度可变

  2. 只可以存引用数据类型,如果要存基本数据类型,需要将其转换成对应的包装类

ArrayList

定义在 java.util 下的,实现了 List 接口。ArrayList 内部以动态数组的形式存储元素,这意味着它的大小能够随着元素的添加或者移除而动态改变。

java 复制代码
import java.util.ArrayList;
  • 动态数组ArrayList 是动态数组,它的大小能按需自动调整。
  • 有序集合:它会按元素插入的顺序来存储元素,这意味着元素的顺序是可预测的。
  • 允许重复元素ArrayList 能够存储重复的元素。
  • 可存储任意类型 :借助泛型,ArrayList 可以存储任意类型的对象。

创建ArrayList

java 复制代码
import java.util.ArrayList;

// 创建一个存储整数的 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();

// 创建一个存储字符串的 ArrayList
ArrayList<String> names = new ArrayList<>();

ArrayList成员方法(增删改查)

java 复制代码
package ArrayListTest;
 
import java.util.ArrayList;
 
public class ArrayListDemo2 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        //添加元素
        boolean result = list.add("aaaccc");
        System.out.println(result);
 
        //删除元素
        boolean result2 = list.remove("aaa");
        System.out.println(result);
        System.out.println(list);
 
        //修改元素
        String result3 = list.set(0,"bbb");
        System.out.println(result);
        System.out.println(list);
 
        //获取指定索引的元素
        String result4 = list.get(0);
        System.out.println(result);
        System.out.println(list);
 
       
 
    }
}

遍历ArrayList

可以使用多种方式遍历 ArrayList,下面是几种常见的方法:

1.使用for循环

java 复制代码
for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}

2.使用增强 for 循环

java 复制代码
for (String fruit : list) {
    System.out.println(fruit);
}

3.迭代器

java 复制代码
import java.util.Iterator;
 
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

完整示例代码

以下是一个完整的 Java 示例,展示了 ArrayList 的基本操作:

java 复制代码
import java.util.ArrayList;

public class ArrayListExample {
    public static void main(String[] args) {
        // 创建一个存储字符串的 ArrayList
        ArrayList<String> fruits = new ArrayList<>();

        // 添加元素
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Cherry");

        // 打印所有元素
        System.out.println("所有水果: " + fruits);

        // 访问元素
        String firstFruit = fruits.get(0);
        System.out.println("第一个水果: " + firstFruit);

        // 修改元素
        fruits.set(1, "Grape");
        System.out.println("修改后的水果列表: " + fruits);

        // 删除元素
        fruits.remove(2);
        System.out.println("删除后的水果列表: " + fruits);

        // 获取元素数量
        int size = fruits.size();
        System.out.println("水果数量: " + size);

        // 遍历元素
        System.out.println("遍历水果列表:");
        for (String fruit : fruits) {
            System.out.println(fruit);
        }
    }
}
相关推荐
小北方城市网15 小时前
分布式锁实战指南:从选型到落地,避开 90% 的坑
java·数据库·redis·分布式·python·缓存
maozexijr16 小时前
Rabbit MQ中@Exchange(durable = “true“) 和 @Queue(durable = “true“) 有什么区别
开发语言·后端·ruby
深圳佛手16 小时前
使用java,怎么样高效地读取一个大文件(10g以上)?
java·开发语言
sheji341616 小时前
【开题答辩全过程】以 景点移动导游系统的设计与实现为例,包含答辩的问题和答案
java
毕设源码-赖学姐16 小时前
【开题答辩全过程】以 高校失物招领信息管理系统的设计与开发为例,包含答辩的问题和答案
java
xiaolyuh12316 小时前
【XXL-JOB】 GLUE模式 底层实现原理
java·开发语言·前端·python·xxl-job
源码获取_wx:Fegn089516 小时前
基于 vue智慧养老院系统
开发语言·前端·javascript·vue.js·spring boot·后端·课程设计
ohoy16 小时前
RedisTemplate 使用之Zset
java·开发语言·redis
独断万古他化16 小时前
【Spring 核心: IoC&DI】从原理到注解使用、注入方式全攻略
java·后端·spring·java-ee
梵得儿SHI16 小时前
(第四篇)Spring AI 核心技术攻坚:多轮对话与记忆机制,打造有上下文的 AI
java·人工智能·spring·springai生态·上下文丢失问题·三类记忆·智能客服实战案