import org.junit.jupiter.api.Test;
import java.util.*;
public class T {
/*
list 转 数组
toArray()底层是数组的拷贝,生成一个新的数组
和原来的list底层的旧数组,是两个对象。
所以list的改变不会影响toArray()生成的数组
* */
@Test
public void listToArray() {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
Integer[] array = list.toArray(new Integer[list.size()]);
list.add(33);
System.out.println("----数组----");
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
System.out.println("----list----");
list.forEach(System.out::println);
/*执行结果:
----数组----
1
2
----list----
1
2
33
* */
}
/*
数组 转 list
底层引用同一个数组对象
* */
@Test
public void arrayToList() {
Integer[] array = {1, 2};
List<Integer> list = Arrays.asList(array);
array[0] = 4;
//异常UnsupportedOperationException:Arrays.asList()不支持数据的添加和删除
//list.add(33);
System.out.println("----数组----");
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
System.out.println("----list----");
list.forEach(System.out::println);
/*
执行结果:
----数组----
4
2
----list----
4
2
* */
}
}