ArrayList集合概述和基本使用
- ArrayList是可以动态增长和缩减的索引序列,它是基于数组实现的List类.
- 数组的长度不可以发生改变,但是ArrayList的长度是可以随时变化的
- 对于ArrayList来说,有一对尖括号代表泛型,泛型,也就是装在集合中的所有元素,全都是统一的给定的类型。
注意:泛型只能是引用类型,不能是基本类型。
代码演示
import java.util.ArrayList;
public class Demo01ArrayList {
public static void main(String[] args) {
//创建一个Arraylist集合,集合的名称是list,里面装的全是String类型的字符串数据
//注意:<>代表泛型,只能是引用类型,不能是基本类型
ArrayList<String> list = new ArrayList<>();
System.out.println(list);//[].打印的不是地址值,说明Arraylist重写了toString方法
//add方法向list中添加元素
list.add("张三");
list.add("李四");
list.add("赵五");
System.out.println(list);
}
}
ArrayList的常用方法和遍历
-
public boolean add(E e)
:向集合中添加元素,参数的类型与泛型一致。返回值代表是否添加成功。 -
public E get(int index)
:从集合中获取元素,参数是索引编号,返回值就是对应位置的元素。 -
public E remove(int index)
:从集合中删除元素,参数是索引编号,返回值就是被删除掉的元素。 -
public int size()
:获取集合的尺寸长度,返回值是集合中包含的元素个数 - 遍历集合:和数组遍历的方法一样,只是长度用size()方法,定位元素用get()方法
代码演示
import java.util.ArrayList;
public class Demo02ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("赵五");
method();
eachPrint(list);
}
/*
遍历集合并打印
*/
private static void eachPrint(ArrayList<String> list) {
System.out.println("------------------------遍历集合并打印--------------------------");
for (int i = 0; i < list.size(); i++) {
System.out.println("第"+i+"号元素为"+list.get(i));
}
}
/*
ArrayList集合常用方法
add(E e),get(int index),remove(int index),size()
*/
private static void method() {
System.out.println("-------------------------ArrayList集合常用方法-------------------------");
ArrayList<String> list = new ArrayList<>();
//向集合中添加元素 add
Boolean success= list.add("0.张三");
list.add("1.李四");
list.add("2.赵五");
System.out.println("添加动作是否成功:"+success);
System.out.println(list);
//获取集合中元素 get
System.out.println("获得集合中的2号元素:"+list.get(2));
//删除集合中元素 remove
String removed = list.remove(2);
System.out.println("被删除的元素是:"+removed);
System.out.println("删除完2号元素之后的集合为:"+list);
}
}
ArrayList集合存储基本数据类型
- 如果希望向集合ArrayList当中存储基本数据类型,必须使用基本类型对应的“包装类”。
基本类型 | 包装类 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
- 因为包装类位于Java.lang包下,所以可以直接引用,无需创建对象。
代码演示
public class Demo03ArrayListBasic {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(100);
list.add(200);
int iget = list.get(1);
System.out.println("第1号元素是"+iget);
System.out.println(list);
}
}