1 package com.jdk7.chapter4;
2
3 import java.util.ArrayList;
4 import java.util.Arrays;
5 import java.util.HashSet;
6 import java.util.Iterator;
7 import java.util.List;
8 import java.util.Set;
9
10 /**
11 * List和Set转换为数组,使用List的toArray方法转换为Object[],如果List/Set中元素都为同一个数据类型A,则可以转换为A[],具体方法为"(A[])new A[0]"
12 * 数组转换为List,使用Arrays的asList方法
13 * 数组转换为Set分两步,第一步将数组转换为List,再将List作为带参的Set构造函数
14 * @author Administrator
15 *
16 */
17 public class ArrayCollectionTest {
18 public static void printList(List list){
19 if(list==
null){
20 System.out.println("列表不能为空"
);
21 }
22 System.out.print("列表展示为: "
);
23 for(
int i=0;i<list.size();i++
){
24 System.out.print(list.get(i)+" "
);
25 }
26 System.out.println();
27 }
28
29 public static void printSet(Set set){
30 if(set==
null){
31 System.out.println("集合不能为空"
);
32 }
33 Iterator it =
set.iterator();
34 System.out.print("集合展示为: "
);
35 while(it.hasNext()){
36 System.out.print(it.next()+" "
);
37 }
38 System.out.println();
39 }
40
41 public static String printArray(Object[] obj){
42 if(obj==
null){
43 System.out.println("array is empty!"
);
44 return null;
45 }
46 StringBuffer sb =
new StringBuffer(" "
);
47 for(
int i=0;i<obj.length;i++
){
48 sb.append(obj[i]).append(" "
);
49 }
50 sb.append("\n"
);
51 return sb.toString();
52 }
53
54 public static void main(String[] args) {
55 ArrayCollectionTest act =
new ArrayCollectionTest();
56 List list =
new ArrayList();
57 list.add("ssss"
);
58 list.add("ffff"
);
59 list.add("2222"
);
60 list.add("kkkk"
);
61 Object[] array1 =
list.toArray();
62 System.out.println("列表转换为数组后为>"+
act.printArray(array1));
63 Object[] array2 = (String[])list.toArray(
new String[0
]);
64 System.out.println("列表转换为元素类型数组后为>"+
act.printArray(array2));
65
66 System.out.print("数组转换为List后>"
);
67 List list1 =
Arrays.asList(array1);
68 act.printList(list1);
69 System.out.print("清空后的List为>"
);
70 list.clear();
71 act.printList(list);
72 System.out.print("添加由List转换为数组后的List为>"
);
73 for(
int i=0;i<array1.length;i++
){
74 list.add(array1[i]);
75 }
76 act.printList(list);
77
78 Set set =
new HashSet();
79 set.add("jjjj"
);
80 set.add("rrrr"
);
81 set.add("kkkk"
);
82 set.add("oooo"
);
83 Object[] array3 =
set.toArray();
84 System.out.println("集合转换为数组后为>"+
act.printArray(array3));
85 Object[] array4 = set.toArray((String[])
new String[0
]);
86 System.out.println("集合转换为集合元素类型数组后>"+
act.printArray(array4));
87
88 System.out.print("数组转换为Set,首先将数组转换为List,再将List作为带参的Set构造函数>"
);
89 act.printSet(
new HashSet(Arrays.asList(array3)));
90
91 System.out.print("清空后集合为>"
);
92 set.clear();
93 act.printSet(set);
94 System.out.print("添加由数组转换后的List后集合为>"
);
95 set.addAll(list1);
96 act.printSet(set);
97 }
98 }
99
100 执行结果:
101 列表转换为数组后为> ssss ffff 2222
kkkk
102
103 列表转换为元素类型数组后为> ssss ffff 2222
kkkk
104
105 数组转换为List后>列表展示为: ssss ffff 2222
kkkk
106 清空后的List为>
列表展示为:
107 添加由List转换为数组后的List为>列表展示为: ssss ffff 2222
kkkk
108 集合转换为数组后为>
jjjj oooo rrrr kkkk
109
110 集合转换为集合元素类型数组后>
jjjj oooo rrrr kkkk
111
112 数组转换为Set,首先将数组转换为List,再将List作为带参的Set构造函数>
集合展示为: jjjj oooo rrrr kkkk
113 清空后集合为>
集合展示为:
114 添加由数组转换后的List后集合为>集合展示为: 2222 ssss kkkk ffff
转载于:https://www.cnblogs.com/celine/p/8457567.html
相关资源:java实现列表、集合与数组之间转化的方法