java中 set,list,array(集合与数组)相互转换

 

 1 public static Object[] List2Array(List<Object> oList) {   
 2         Object[] oArray = oList.toArray(new Object[] {});   
 3         // TODO 需要在用到的时候另外写方法,不支持泛型的Array.   
 4         return oArray;   
 5     }   
 6   
 7     public static Object[] Set2Array(Set<Object> oSet) {   
 8         Object[] oArray = oSet.toArray(new Object[] {});   
 9         // TODO 需要在用到的时候另外写方法,不支持泛型的Array.   
10         return oArray;   
11     }   
12   
13     public static <T extends Object> List<T> Set2List(Set<T> oSet) {   
14         List<T> tList = new ArrayList<T>(oSet);   
15         // TODO 需要在用到的时候另外写构造,根据需要生成List的对应子类。   
16         return tList;   
17     }   
18   
19     public static <T extends Object> List<T> Array2List(T[] tArray) {   
20         List<T> tList = Arrays.asList(tArray);   
21         // TODO 单纯的asList()返回的tList无法add(),remove(),clear()等一些影响集合个数的操作,   
22         // 因为Arrays$ArrayList和java.util.ArrayList一样,都是继承AbstractList,   
23         // 但是Arrays$ArrayList没有override这些方法,而java.util.ArrayList实现了。   
24         // TODO 建议使用List的子类做返回,而不是Arrays$ArrayList。根据需要吧。如下行注释:   
25         // List<T> tList = new ArrayList<T>(Arrays.asList(tArray));   
26         return tList;   
27     }   
28   
29     public static <T extends Object> Set<T> List2Set(List<T> tList) {   
30         Set<T> tSet = new HashSet<T>(tList);   
31         //TODO 具体实现看需求转换成不同的Set的子类。   
32         return tSet;   
33     }   
34   
35     public static <T extends Object> Set<T> Array2Set(T[] tArray) {   
36         Set<T> tSet = new HashSet<T>(Arrays.asList(tArray));   
37         // TODO 没有一步到位的方法,根据具体的作用,选择合适的Set的子类来转换。   
38         return tSet;   
39     }

 

posted @ 2017-03-10 10:38  小单子2  阅读(276)  评论(0)    收藏  举报