Java:集合与数组转换

List,Set转换为数组的方法。
toArray函数有两种形式,一种无参数,一种带参数,注意带参数形式中,要指明数组的大小。

 

程序代码:

1

2

3

4

5

6

7

8

9

public void convertCollectionToArray() {

 List list = new ArrayList();

 Object[] objectArray1 = list.toArray();

 String[] array1 = list.toArray(new String[list.size()]);

 

 Set set = new HashSet();

 Object[] objectArray2 = set.toArray();

 String[] array2 = set.toArray(new String[set.size()]);

}

反过来,数组转换为List,Set。

1

2

3

4

5

 Integer[] numbers = {7, 7, 8, 9, 10, 8, 8, 9, 6, 5, 4};

 // To convert an array into a Set first we convert it to a List. Next

 // with the list we create a HashSet and pass the list as the constructor.

 List list = Arrays.asList(numbers);

 Set set = new HashSet(list);

注意:对于int[]数组不能直接这样做,因为asList()方法的参数必须是对象。应该先把int[]转化为Integer[]。对于其他primitive类型的数组也是如此,必须先转换成相应的wrapper类型数组。

1

2

3

4

5

6

7

8

 int[] numbers = {7, 7, 8, 9, 10, 8, 8, 9, 6, 5, 4};

 int size = numbers.length;

 Integer[] array = new Integer[size];

 for (int i = 0; i < numbers.length; i++) {

  Integer integer = numbers[i];

  array[i] = integer;

  }

 List list = Arrays.asList(array);

你可能感兴趣的:(java)