Java将数组转换为列表

时间:2020-02-23 14:37:07  来源:igfitidea点击:

在本教程中,我们将看到如何将数组转换为在Java中列表。

可能有方法可以将数组转换为列表:

通过使用arrays.aslist():

这是一个简单的方法将数组转换为列表.We只需要将数组传递为Aslist()方法。
它是阵列类中可用的静态方法,所以按类名arrays.aslist()调用它。

语法:

public static List asList(T x)

它返回定大小列表,因为给定的array.since返回的列表是固定的 - 大小我们不能添加更多元素。
如果我们这样做,则它会抛出UnsupportedoperationException,t表示泛型表示任何类型的数组。

例子:

package org.igi.theitroad;
//import all these package for conversion
import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;
public class ConvertArrayToListAsListMain
{
	public static void main(String arg[])
	{
		//create and initialization of an array
		Integer[] arr={81,82,83,84,85};
 
		//print content of Array
		System.out.println("Elements of Array are:");
		for (int a: arr)
		{
			System.out.println(a);
		}
		
		//Convert array into list using  Arrays.asList() method 
		List<Integer> list=Arrays.asList(arr);
		System.out.println("Elements of list are:");
		//print elements of list
		System.out.println(list);
	}
}

输出:

Elements of Array are:
[81]
[82]
[83]
[84]
[85]
Elements of list are: [81,82,83,84,85]

使用collections.addall()方法:

此方法在Collections类中可用.Remmember array和list应该是相同类型的。

语法:

public static boolean addAll(Collection c,T x)

其中C是要插入值的集合,x是阵列,其中包含要插入的值。

package org.igi.theitroad;
//import all these package for conversion
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
 
public class ConvertArrayToListAsListMain
{
	public static void main(String arg[])
	{
		//creation of Integer array
		Integer[] arr={81,82,83,84,85};
		//print content of Array
		System.out.println("Elements of Array are:");
		for (int a: arr)
		{
			System.out.println(a);
		}
		//creation of List
		List<Integer> list=new ArrayList<>();
		//assign all the element of array in list using Collection.addAll() method 
		Collections.addAll(list,arr);
		System.out.println("Elements of list are:");
		//print elements of list
		System.out.println(list);
	}
}

使用Java 8的流

我们可以使用Java 8的流将数组转换为列表。

package org.igi.theitroad;
//import all these package for conversion
import java.util.List;
import java.util.stream.Collectors;
import java.util.Arrays;
 
public class ConvertArrayToListAsListMain
{
	public static void main(String arg[])
	{
		//creation of Integer array
		int[] arr={1,3,5,6,10};
		//print content of Array
		System.out.println("Elements of Array are:");
		for (int a: arr)
		{
			System.out.println(a);
		}
		//Using Java 8 Stream
		List<Integer> list=Arrays.stream(arr).boxed().collect(Collectors.toList());
		
		System.out.println("Elements of list are:");
		//print elements of list
		System.out.println(list);
	}
}

输出:

Elements of Array are:
1
3
5
6
10
Elements of list are: [1,3,5,6,10]

使用Add()方法手动方式:

我们使用循环内的Add()方法将数组转换为列表。
例子 :

package org.igi.theitroad;
import java.util.List;
import java.util.ArrayList;
public class ConvertArrayToListMain
{
	public static void main(String arg[])
	{
		//create and initialization of array
		int[] arr={81,82,83,84,85};
 
		//print content of  Array using for each loop
		System.out.println("Elements of Array are:");
		for (int a: arr)
		{
			System.out.println(a);
		}
		List<Integer> list=new ArrayList<>();
		//conversion of array into list using add() method 
		for (int a: arr)
		{
			list.add(a);
		}
		System.out.println("Elements of list are:");
		System.out.println(list);
	}
}

输出:

Elements of Array are:
[81]
[82]
[83]
[84]
[85]
Elements of list are: [81,82,83,84,85]