Arrays工具类的asList()方法
概述:将数组转换成集合
注意:得到的集合长度是不可变的,你不能往这个转换后的集合中添加元素和删除元素,只能获取元素
import java.util.Arrays;
import java.util.List;
public class Test{
public static void main(String[] args) {
List<Integer> integers = Arrays.asList(100, 200, 300, 400, 500);
//integers.add(100); //不能添加或者删除,编译时会报错
Integer integer = integers.get(3);//可以获取
// --------------------------------------------------------------------
int[] arr = {1,2,3};
//当我们传入一个或多个int[]数组的时候,集合里面放的数组的引用
List<int[]> ints = Arrays.asList(arr, new int[]{1,2,3});
int[] ints1 = ints.get(0);
int[] ints2 = ints.get(1);
//---------------------------------------------------------------------
//当我们传入一个Integer[] 数组,那么他会把数组的元素取出来放到集合中
Integer[] integers1 = {1,2,3,4,5};
List<Integer> integers2 = Arrays.asList(integers1);
integers2.get(2);//3
//---------------------------------------------------------------------
//当我们传入多个Integer[] 数组的时候,集合放的是每个Integer[] 数组的引用
Integer[] integers3 = {1,2,3};
List<Integer[]> integers4 = Arrays.asList(integers1, integers3);
Integer[] integers5 = integers4.get(0);
Integer[] integers6 = integers4.get(1);
}
}
集合嵌套之ArrayList嵌套ArrayList
例:
我们班有学生,每一个学生是不是一个对象。ArrayList<Student.>所以我们可以使用一个集合表示我们班级的学生。但是,我们旁边还有班级,每个班级也是一个ArrayList<Student.>。而现在有多个ArrayList。也要用集合存储。
import java.util.ArrayList;
public class Test2{
public static void main(String[] args) {
//一班
ArrayList<Student> oneList = new ArrayList<>();
oneList.add(new Student("李一", 20));
oneList.add(new Student("王一", 21));
oneList.add(new Student("张一", 22));
//二班
ArrayList<Student> twoList = new ArrayList<>();
twoList.add(new Student("李二", 22));
twoList.add(new Student("王二", 21));
twoList.add(new Student("张二", 20));
//三班
ArrayList<Student> threeList = new ArrayList<>();
threeList.add(new Student("李三", 22));
threeList.add(new Student("王三", 20));
threeList.add(new Student("张三", 21));
//创建一个大集合放小集合
ArrayList<ArrayList<Student>> list = new ArrayList<>();
list.add(oneList);
list.add(twoList);
list.add(threeList);
//使用增强for循环遍历大集合
for(ArrayList<Student> students: list){
for(Student stu:students){
System.out.println(stu);
}
}
}
}