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

    一、数组转集合

     //数组转集合
     String [] strs = {"12", "13", "14"};
     List<String> stringList = Arrays.asList(strs);
     // stringList.add("16");   数组转成的集合,不可添加
     //asList的返回对象是一个ArrayList, 
     //此处的ArrayList是Arrays的内部类.没有add()方法
     System.out.println(stringList.toString());
     for (String str : stringList) {
                System.out.println(str);
     }

    二、集合转数组

    1、ArrayList的toArray,toArray有两个重载的方法:

    (1)list.toArray();

    //将list直接转为Object[] 数组;
    ArrayList<String> list=new ArrayList<String>();
    for (int i = 0; i < 10; i++) {
        list.add(""+i);
    }
    String[] array= (String[]) list.toArray();
    运行报错:
    不能将Object[] 转化为String[],转化的话只能是取出每一个元素再转化。java中的强制类型转换只是针对单个对象的,想要偷懒将整个数组转换成另外一种类型的数组是不行的,这和数组初始化时需要一个个来也是类似的。
    //单个转化
    Object[] arr = list.toArray();
    for (int i = 0; i < arr.length; i++) {
        String e = (String) arr[i];
        System.out.println(e);
    }

    (2)list.toArray(T[]  a);

     String[] array =new String[list.size()];
     list.toArray(array);
    
      //集合转数组
      ArrayList<String> strings = new ArrayList<String>();
      for (int i=0; i<10; i++) {
           strings.add(String.valueOf(i));
      }
      String[] strs = strings.toArray(new String[strings.size()]);
    

    2、使用set 去重转换

     Set<String> set = new HashSet<String>();
     for (int i = 0; i < object.size(); i++) {
         set.add(object.get(i).toString());//object里有重复的数据,采用set去除重复的数据
     }
     String[] strs = new String[set.size()];    
      //Set-->数组    
     set.toArray(str); 
    

      

    参考:https://www.cnblogs.com/goloving/p/7693388.html

  • 相关阅读:
    java 添加一个线程、创建响应的用户界面 。 演示示例代码
    Cocos2d-x3.0游戏实例《不要救我》第十篇(结束)——使用Json配置数据类型的怪物
    VMWARE虚拟机无法访问的三种方法分析
    新近
    leetcode-2 Add Two Numbers 计算两个对应的列表和问题
    Android4.0 Design之UI设计缺陷1
    Html 5 坦克大战(韩顺平县版本号)
    采取Volley,实现瀑布流
    fzu 2150 Fire Game 【身手BFS】
    第45周一
  • 原文地址:https://www.cnblogs.com/wongzzh/p/15146847.html
Copyright © 2011-2022 走看看