zoukankan      html  css  js  c++  java
  • Java:集合与数组转换

    List,Set转换为数组的方法。

    toArray函数有两种形式,一种无参数,一种带参数,注意带参数形式中,要指明数组的大小。

    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。

    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  int[] numbers = {7, 7, 8, 9, 10, 8, 8, 9, 6, 5, 4};
    2  int size = numbers.length;
    3  Integer[] array = new Integer[size];
    4  for (int i = 0; i < numbers.length; i++) {
    5   Integer integer = numbers[i];
    6   array[i] = integer;
    7   }
    8  List list = Arrays.asList(array);
     
     
  • 相关阅读:
    [haoi2011]向量
    [haoi2008]硬币购物
    noi2001 [食物链]并查集p1697
    [haoi2012]容易题(数论+容斥的思想)
    p1620田忌赛马(贪心+模拟)
    p1368[扑街]广场铺砖
    [zjoi2010]网络扩容
    是时候写一篇总结了
    P1630 求和
    魔术棋子
  • 原文地址:https://www.cnblogs.com/Sharley/p/8558640.html
Copyright © 2011-2022 走看看