当前位置: 首页 > java >正文

JAVA---集合ArrayList

集合

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

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

ArrayList   

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

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

 
 
创建ArrayList

import java.util.ArrayList;// 创建一个存储整数的 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();// 创建一个存储字符串的 ArrayList
ArrayList<String> names = new ArrayList<>();


ArrayList成员方法(增删改查)

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循环

for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));
}

2.使用增强 for 循环

for (String fruit : list) {System.out.println(fruit);
}


3.迭代器
 

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

完整示例代码

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

import java.util.ArrayList;public class ArrayListExample {public static void main(String[] args) {// 创建一个存储字符串的 ArrayListArrayList<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);}}
}

http://www.xdnf.cn/news/2855.html

相关文章:

  • 《从线性到二维:CSS Grid与Flex的布局范式革命与差异解析》
  • Spring中bean的生命周期(笔记)
  • LeetCode热题100--53.最大子数组和--中等
  • 最新的30个Android Kotlin面试题
  • Kafka的Rebalance机制可能引发什么问题?如何优化?怎么减少不必要的Rebalance
  • 第十六届蓝桥杯 2025 C/C++组 密密摆放
  • Vue 中的过渡效果与响应式数据:transition、transitiongroup、reactive 和 ref 详解
  • FastGPT部署的一些问题整理
  • 对 FormCalc 语言支持较好的 PDF 编辑软件综述
  • 短视频矩阵批量剪辑与场景剪辑功能 OEM 定制开发
  • C++——调用OpenCV和NVIDIA Video Codec SDK库实现使用GPU硬解码MP4视频文件
  • 【深度学习与大模型基础】第14章-分类任务与经典分类算法
  • 从 BERT 到 GPT:Encoder 的 “全局视野” 如何喂饱 Decoder 的 “逐词纠结”
  • 高定电视,一场关于生活方式的觉醒
  • 在spark里通过jps命令,看到的进程
  • 【C++11】包装器:function与bind
  • iVX 引领软件开发进入 “可视化逻辑时代”
  • vue+cesium线流动纹理
  • WPF TextBlock控件性能优化指南
  • 【RK3588嵌入式图形编程】-Cairo-快速了解Cairo图形库
  • MongoDB的图形化工具robo3t,navicat
  • k8s-Pod生命周期
  • Tomcat 部署配置指南
  • java使用websocket推送消息到页面
  • 为什么执行了删除语句后mysql内存无变化?
  • Vue 2 和 Vue 3 中 Vue 实例变量方法的功能差异对比,包含关键方法的详细说明和表格总结
  • 硅基计划 学习总结 拾
  • 软考-软件设计师中级备考 7、算法设计与分析
  • 如何理解promise 续二
  • C语言学习路线