Java-ArrayList常用方法
2024-09-08 14:56:41
数组的长度不可以发生改变。
但是ArrayList集合的长度是可以随意改变的。
对于ArrayList来说,有一个尖括号代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
注意:泛型只能是引用类型,不能是基本类型。
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
如果内容是空,得到的是空的括号;[]
ArrayList当中的常用方法有:
- public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致,返回值是boolean类型,代表添加是否成功
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用
但是对于其他集合来说,add添加动作不一定成功
public E get(int index):从集合当中获取元素,参数是索引编号,返回值是对应位置的元素
public E remove(int index):从集合当中删除元素,参数是索引编号,返回值就是被删除的元素
DemoArrayList.java
package cn.day04;
import java.sql.SQLOutput;
import java.util.ArrayList;
public int size():获取集合的尺寸长度,返回值是集合中包含的元素个数
*/
public class DemoArrayList {
public static void main(String[] args) {
//创建了一个ArrayList集合,集合名称是list,里面装的全是String字符串类型的数据
//备注:从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。
ArrayList<String> list = new ArrayList<>();
System.out.println(list);//[]
//向集合中添加元素:add
boolean success = list.add("柳岩");
System.out.println(list);
System.out.println("添加的动作是否成功:" + success);//true
list.add("高圆圆");
list.add("赵又廷");
list.add("李小璐");
list.add("贾乃亮");
System.out.println(list);
//从集合中获取元素:get 索引值从0开始
String name = list.get(2);
System.out.println("第2号索引位置:" + name);
//从集合中删除元素:remove 索引值从0开始
String whoRemoved = list.remove(3);
System.out.println("被删除的人是谁:" + whoRemoved);
System.out.println(list);
int size = list.size();
System.out.println("集合的长度是:" + size);
//遍历集合
System.out.println("======================");
System.out.println("遍历集合:");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
Running result
[]
[柳岩]
添加的动作是否成功:true
[柳岩, 高圆圆, 赵又廷, 李小璐, 贾乃亮]
第2号索引位置:赵又廷
被删除的人是谁:李小璐
[柳岩, 高圆圆, 赵又廷, 贾乃亮]
集合的长度是:4
======================
遍历集合:
柳岩
高圆圆
赵又廷
贾乃亮
如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”。
基本类型 | 包装类(引用类型,包装类都位于java.lang包下) |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
从JDK1.5+开始,支持自动装箱、自动拆箱
自动装箱:基本类型 --> 包装类型
自动拆箱: 包装类型 --> 基本类型
最新文章
- [译]Modern Core Graphics with Swift系列
- IO流 总结一
- json-c-0.9 的简单用法
- jQuery动态实现title的修改 失效问题
- Unity3d在线游戏Socket通讯
- B/S、C/S区别
- linux下实用的快速随机生成复杂密码
- Lansat8大气校正USGS-EROS项目espa-surface-reflectance中的LaSRC Version 1.3.0模块利用vs2010编译出windows64位版本的使用(三)
- K-means聚类算法原理和C++实现
- TICTOC: Header Only C++ Timer
- 前端复制粘贴clipBoard.js的使用
- Oracle核心技术之 SQL TRACE
- python程序练习题集
- apt-get update的hit和ign含义
- Java并发编程:线程封闭和ThreadLocal详解
- map和set的遍历
- css3中的nth-child和nth-of-type的区别
- python入门之生成器
- Windows下配置Redis,并修改密码
- 010 深入理解Python语言