前言
今天了解什么是ArrayList类,并使用。一、什么是ArrayList < E>类?
此类代表集合,和数组不同的是,集合的长度是可以任意改变的,其中< E>的E代表泛型,泛型只能使用引用类型,比如String…如果想要使用基本类型,需要对应的包装类:
基本类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
例如:
public class Demo04ArrayListBasic {
public static void main(String[] args) {
ArrayList<String> listA = new ArrayList<>();
//ArrayList<int> listB = new ArrayList<>();错误写法 泛型<> 只能是引用数据类型
ArrayList<Integer> listB = new ArrayList<>();
listB.add(100);
listB.add(200);
System.out.println(listB);
//获取元素
int num=listB.get(1);
System.out.println(num);
ArrayList<Double> listC=new ArrayList<>();
listC.add(0.5);
System.out.println(listC);
}
}
二、构造方法摘要
三、方法摘要
四、用法
注意:泛型 只能是引用数据类型 不能是基本类型
ArrayList< E>所在的包为java.util,在使用时需要导包,即需要加上import语句:import java.util.ArrayList;
创建ArrayList的代码示意:
ArrayList< String> list = new ArrayList<>();
尖括号内的数据类型根据需求设置;
其中list是集合名称,可以自己定义;
public class Demo02ArrayList {
public static void main(String[] args) {
//定义了一个ArrayList 集合,集合的名字叫list,集合里面的类型都是String
//jdk 1.7之后,右侧的尖括号内的类型可以省略不写,但是左边一定要写
ArrayList<String> list = new ArrayList<String>();
System.out.println(list);
System.out.println("=========");
list.add("迪丽热巴");
System.out.println(list);
System.out.println("=========");
list.add("吴磊");
list.add("赵露思");
System.out.println(list);
//list.add(100);错误写法
}
}
五、此类常用的方法有:
1.向集合中添加元素:list.add(需要添加的元素)
2.读取集合中的元素:list.get(int index),括号中为元素编号索引值,和数组相同,从0开始
3.删除集合中的元素:list.remove(int index)
4.获得集合中的元素个数:list.size()
public class Demo03ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
boolean success = list.add("成龙");
System.out.println("添加是否成功"+success);
System.out.println(list);
list.add("姚明");
list.add("刘德华");
list.add("黎明");
list.add("郭富城");
System.out.println(list);
//下标从0开始
String name= list.get(3);
System.out.println("索引3号位置是:"+name);
int size1= list.size();
System.out.println(size1);
System.out.println("===============");
String whoRemoved=list.remove(3);
System.out.println("被移除的是:"+whoRemoved);
System.out.println(list);
int size2= list.size();
System.out.println(size2);
for(int i=0;i< list.size();i++)//一种遍历方式
{
System.out.println(list.get(i));
}
}
}
注意:对于ArrayList集合来说,直接打印得到的不是地址值,而是集合的内容,这一点和数组不同。