栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中数组与集合的相互转换实现解析

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中数组与集合的相互转换实现解析

这篇文章主要介绍了Java中数组与集合的相互转换实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  • List转数组:采用集合的toArray()方法
  • 数组转List:采用Arrays的asList()方法

数组转换为集合

注意:在数组转集合的过程中,要注意是否使用了视图的方式直接返回数组中的数据。以Arrays.asList()为例,它把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出 UnsupportedOperationException异常。

这是因为Arrays.asList体现的是适配器模式,后台的数据仍是原有数组。asList的返回对象是一个Arrays的内部类,它并没有实现集合个数的相关修改操作,这也是抛出异常的原因。

集合转数组

集合转数组相对简单,一般在适配别人接口的时候常常用到

代码例子

public class Main {
  public static void main(String[] args) {

    //1.数组转换为集合
    String[] strs = new String[3];
    strs[0] = "a";
    strs[1] = "b";
    strs[2] = "c";
    List stringList = Arrays.asList(strs);
    System.out.println(stringList);
    //1.1注意:直接使用add、remove、clear方法会报错
//    stringList.add("abc");
    //1.2如果想要正常的使用add等修改方法,需要重新new一个ArrayList
    List trueStringList = new ArrayList<>(Arrays.asList(strs));
    trueStringList.add("abc");
    System.out.println(trueStringList);

    //2.集合转数组
    List integerList = new ArrayList<>();
    integerList.add(1);
    integerList.add(2);
    integerList.add(3);

    //新生成的数组大小一定要大于原List的大小
    Integer[] integers = new Integer[3];
    integerList.toArray(integers);
    System.out.println(Arrays.asList(integers));
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/137189.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号