前言
今天在刷题的时候,发现自己不会将数组转化成为一个list,所以查了一些资料,总结了一些List如何转成数组,数组又是如何转化成为List的方法,希望帮助到需要的人。
一、List怎么转数组?
1.简捷的方法
最直接的方法就是调用list自带的方法list.toArray(),可以直接把list转为数组,代码如下:
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
list.add(9);
list.add(99);
//直接调用list.toArray()将其转为数组
//再调用Arrays.toString()将数组元素打印出来
System.out.println(Arrays.toString(list.toArray()));
}
2.list转int数组
list可以转int类型,也可以转为其他的类型,自己可以尝试一下,代码如下:
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
list.add(9);
list.add(99);
Integer[] array=list.toArray(new Integer[0]);
//new Integer[]中元素的多少自己可以定义,一般从0开始,需要多少开辟多少
for(Integer in:array){
System.out.println(in);
}
}
二、数组怎么转List?
1.简捷的方法
数组自带的两种方法:Arrays.asList()和Collections.addAll();
代码如下(示例):
Arrays.asList():
public static void main(String[] args) {
List<String> list=Arrays.asList("99","88","xixi","66");
System.out.println(list);
Collections.addAll():
public static void main(String[] args) {
List<String> list=new ArrayList<>();
String[] array={
"99","876","543","haha"};
Collections.addAll(list,array);
System.out.println(list);
2.int数组转为list
代码比较简单,但是我们学习的是这个方法,等到需要的时候,我们不至于不知所措。
代码如下(示例):
public static void main(String[] args) {
List<Integer> list=new ArrayList<>();
Integer[] str=new Integer[]{
5,8,3,0};
for(Integer e:str){
System.out.println(e);
}
总结
注意:String[]数组转为string类型的集合,当需要使用int,double类型的时候,需要使用对应的对象,如:int[]用Integer[],double[]用Double[],因为List集合是对象的集合,而int,double等不是对象,所以需要使用字段对应的包装类。