java中的List简单介绍_ninghuax的博客-CSDN博客_java list
使用List - 廖雪峰的官方网站
二、使用ArrayList1、使用LIst
import java.util.ArrayList; import java.util.List; Listlist = new ArrayList<>(); LIst list = List.of(1,2,3);
List.of()方法不接受null值,如果传入null,会抛出NullPointerException异常。
2、添加
list.add(E e);
3、遍历
list.get(int i);
4、LIst转换为Array
Object[] array = list.toArray();//会丢失类型信息
第二种方式是给toArray(T[])传入一个类型相同的Array,List内部自动把元素复制到传入的Array中:
Integer[] array = list.toArray(new Integer[3]); Integer[] array = list.toArray(new Integer[list.size()]);
注意到这个toArray(T[])方法的泛型参数
并不是List接口定义的泛型参数 ,所以,我们实际上可以传入其他类型的数组,例如我们传入Number类型的数组,返回的仍然是Number类型:
但是,如果我们传入类型不匹配的数组,例如,String[]类型的数组,由于List的元素是Integer,所以无法放入String数组,这个方法会抛出ArrayStoreException。
最后一种更简洁的写法是通过List接口定义的T[] toArray(IntFunction
Integer[] array = list.toArray(Integer[]::new);
5、array转list
Integer[] array = { 1, 2, 3 };
List list = List.of(array);
对于JDK 11之前的版本,可以使用Arrays.asList(T...)方法把数组转换成List。
要注意的是,返回的List不一定就是ArrayList或者linkedList,因为List只是一个接口,如果我们调用List.of(),它返回的是一个只读List:
6.三种遍历方法
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
for (Integer i : list) {
System.out.print(i);
}
for (Iterator it = list.iterator(); it.hasNext();) {
Integer num = it.next();
System.out.print(num);
}
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i));
}
}
}



