ArratList
和数组的区别
数组长度不可以发生改变
但是ArrayList集合长度可以随意改变。
ArrayList,有一个尖括号<…>代表泛型
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。
ArrayList<int> list = new ArrayList<>(); //错误写法
ArrayList<Integer> list = new ArrayList<>();
注意:泛型只能是引用类型,不能是基本类型
基本类型 | 引用类型 |
---|---|
byte | Byte |
int | Integer |
long | Long |
short | Short |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
注意:
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容
如果内容是空,得到的是空的中括号:[ ]
常用方法
集合名称.add(); //向集合中添加元素,类型与泛型一致
集合名称.get(); //从集合中获取元素,参数是索引编号,返回值是对应位置的元素
集合名称.remove(); //从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素
练习题1
生成6个1~33之间的随机整数,添加到集合,遍历集合
import java.util.ArrayList;
import java.util.Random;
public class Demo01ArrayListRandom {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 6; i++) {
int num = r.nextInt(33) + 1;
list.add(num);
}
// 遍历集合
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
练习题2
用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合中
import java.util.ArrayList;
import java.util.Random;
public class Demo04ArrayListReturn {
public static void main(String[] args) {
ArrayList<Integer> bigList = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 20; i++) {
int num = r.nextInt(100) + 1;
bigList.add(num);
}
// 创建一个集合来接收返回的偶数
// 【学习中的错误,直接调用方法】
ArrayList<Integer> smallList = getSmallList(bigList);
System.out.println("总共有" + smallList.size());
for (int i = 0; i < smallList.size(); i++) {
System.out.println(smallList.get(i));
}
}
// 可以用集合作为返回值类型,将bigList中的值作为参数传入
//将其中的偶数放到smallList中返回
public static ArrayList<Integer> getSmallList(ArrayList<Integer> bigList){
ArrayList<Integer> smallList = new ArrayList<>();
for (int i = 0; i < bigList.size(); i++) {
int num = bigList.get(i);
if (num % 2 == 0){
smallList.add(num);
}
}
return smallList;
}
}