数组怎样转换成List<T>

如题所述

这要看你的T是什么了,如果T和数组的成员类型一样那就可以直接用

ToList();

直接转换

如果类型不同,就需要手动做映射(将数组每一个需要的元素对应到T中)

var list=new List<T>();//T表示你要转换的目标泛型
ForEach(var arry in arrays)
{
    list.Add(new T(){A=arry[0],B=arry[1],c=arry[2]});//A、B、C表示T中的成员
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-11-17
java数组转换成为List,调用 java.util.Arrays 的asList方法.
1
2
String[] arr = new String[] {"1", "2"};
List<String> list = Arrays.asList(arr);
第2个回答  2017-11-17
//调用Arrays的asList方法.
//asList
public static <T> List<T> asList(T... a)返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直写”到数组。)此方法同 Collection.toArray 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。 
此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:
     List stooges = Arrays.asList("Larry", "Moe", "Curly");
 
参数:
a - 支持列表的数组。 
返回:
指定数组的列表视图。
另请参见:
Collection.toArray()
具体用法:
String[] arr = new String[] {"1", "2"};
List list = Arrays.asList(arr);

但数组数据类型要一样,没有最直接的转换方法。

本回答被网友采纳
第3个回答  2018-10-12
@Test
public void test11(){
int[] arr={7,3,5,2,1,9,10,4,6,8};
System.out.println("排序之前:");
// Arrays.sort(arr);
ArrayList<Integer> listA = new ArrayList<>();
for(int i=0;i<arr.length;i++){
listA.add(arr[i]);
}
Collections.sort(listA);
for(Integer sk:listA){
System.out.print("======="+sk);
}
//=====================================================
for (int num : arr) {
System.out.println(num+"");
}
for (int i=0;i<arr.length-1;i++){
for (int j=0;j<arr.length-1-i;j++){
if (arr[j]>arr[j+1]){
int temp =arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
System.out.println("排序之后:");
for (int num : arr) {
System.out.println(num+"");
}
}