目录
集合转数组
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
//把集合转换成数组
Object[] objects = list.toArray();
数组转集合
Arrays.asList();
Integer[] arr = {20, 30, 40};
//把数组转换成集合
//当你传入一个数组时,他是把数组中的的元素取出来放到集合中
List<Integer> integers = Arrays.asList(arr);
System.out.println(integers);
Integer[] arr2 = {20, 30, 40};
Integer[] arr3 = {50, 60, 70};
//我传入的是两个以上的数组,那么他是把数组放到集合。
List<Integer[]> list = Arrays.asList(arr2, arr3);
Integer[] integers1 = list.get(0);
System.out.println(integers1[0]);
int[] arr4 = {20, 30, 40};
//当我传入的元素为基本类型的数组,他是把数组放到集合中
List<int[]> ints = Arrays.asList(arr4);
List<Integer> integers2 = Arrays.asList(20, 30, 50, 60, 70);
注意:通过asList()转换出来的这个集合,他只能获取或修改元素,不能增删元素。
返回的这个集合是 Arrays 类中的内部类 ArrayList
List<Integer> list = Arrays.asList(20, 30, 50, 60, 70);
Integer integer = list.get(0);
System.out.println(integer);
list.set(1, 500);
System.out.println(list);
//list.add(80); //UnsupportedOperationException
//list.remove(3);
集合嵌套
ArrayList<Student> javaList = new ArrayList<>();
javaList.add(new Student("张三", 23));
javaList.add(new Student("李四", 24));
javaList.add(new Student("王五", 25));
javaList.add(new Student("赵六", 26));
ArrayList<Student> webList = new ArrayList<>();
webList.add(new Student("汪小虎", 23));
webList.add(new Student("刘德华", 24));
webList.add(new Student("张学友", 25));
webList.add(new Student("郭富城", 26));
ArrayList<ArrayList<Student>> maxList = new ArrayList<>();
maxList.add(javaList);
maxList.add(webList);
//遍历
for (int i = 0; i < maxList.size(); i++) {
ArrayList<Student> minList = maxList.get(i);
for (int j = 0; j < minList.size(); j++) {
Student student = minList.get(j);
System.out.println(student);
}
}
//增强for循环
for (ArrayList<Student> minList : maxList) {
for (Student student : minList) {
System.out.println(student);
}
}
//forEach循环
maxList.forEach(new Consumer<ArrayList<Student>>() {
@Override
public void accept(ArrayList<Student> minList) {
minList.forEach(new Consumer<Student>() {
@Override
public void accept(Student student) {
System.out.println(student);
}
});
}
});