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

  • 相关阅读:
    微博二级评论爬取
    爬取genome的网页和图片
    一个数据结构转换的问题
    SQLAlchemy ORM教程之二:Query
    SQLAlchemy中filter()和filter_by()有什么区别
    词云加显示条形图
    智联招聘的python岗位数据词云制作
    Python标准库——collections模块的Counter类
    MySQL5.6 windows msi安装介绍
    ICSharpCode.SharpZipLib.Zip
  • 原文地址:https://www.cnblogs.com/wongzzh/p/15146847.html
Copyright © 2011-2022 走看看