zoukankan      html  css  js  c++  java
  • Java 集合与数组相互转换的方法

    作者:啸笑天
    出处:http://justsee.iteye.com/blog/658452


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

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

     

    程序代码:

    List----数组

    Set----数组

    
    

    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。

    数组----List----Set

    
    

    Integer[] numbers = {778910889654};

    // 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类型数组。
     
    
    

    int[] numbers = {778910889654};

     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);

    
    
    Set----List
    Set set=new HashSet(new arrayList());
    Map----Set  
    Map.key----Set  
    Map.value----Collection即Set,List
    Map map = new HashMap();
    map.put("1", "a");
    map.put('2', 'b');
    map.put('3', 'c');
    System.out.println(map);
    // 输出所有的值
    System.out.println(map.keySet());
    // 输出所有的键
    System.out.println(map.values());
    // 将map的值转化为List
    List list = new ArrayList(map.values());
    System.out.println(list);
    // 将map的值转化为Set
    Set set = new HashSet(map.values());
    System.out.println(set);
  • 相关阅读:
    Gym 102040B Counting Inversion(超级数位dp)
    Educational Codeforces Round 104 (Rated for Div. 2)(A~D)
    2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1)_组队训练
    线段树板子
    Codeforces Round #700 (Div. 2)
    Codeforces Round #699 (Div. 2)
    Codeforces Round #698 (Div. 2)
    字典树——实现字符串前缀查找(可返回字符串)
    LeetCode146-LRU缓存机制
    用到过的git命令
  • 原文地址:https://www.cnblogs.com/leonxyzh/p/7289147.html
Copyright © 2011-2022 走看看