当前位置: 首页 > 编程笔记 >

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

屈浩波
2023-03-14
本文向大家介绍Java中数组与集合的相互转换实现解析,包括了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<String> stringList = Arrays.asList(strs);
    System.out.println(stringList);
    //1.1注意:直接使用add、remove、clear方法会报错
//    stringList.add("abc");
    //1.2如果想要正常的使用add等修改方法,需要重新new一个ArrayList
    List<String> trueStringList = new ArrayList<>(Arrays.asList(strs));
    trueStringList.add("abc");
    System.out.println(trueStringList);

    //2.集合转数组
    List<Integer> 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));
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Java实现String与StringBuilder相互转换,包括了Java实现String与StringBuilder相互转换的使用技巧和注意事项,需要的朋友参考一下 String类型是Java中的一个类,它用来表示一组字符。 Java中的字符串是不可变的,一旦创建,就不能更改字符串的值。 由于字符串是不可变的,因此如果您尝试重新分配字符串的值。它的引用将指向新的String对象,

  • 本文向大家介绍Java 图片与byte数组互相转换实例,包括了Java 图片与byte数组互相转换实例的使用技巧和注意事项,需要的朋友参考一下 实例如下: 文件解析: FileImageOutputStream 换成了 FileOutputStream FileImageInputStream 换成 FileInputStream 以上这篇Java 图片与byte数组互相转换实例就是小编分享给大家

  • 本文向大家介绍Java Date与String的相互转换详解,包括了Java Date与String的相互转换详解的使用技巧和注意事项,需要的朋友参考一下 Java Date与String的相互转换详解 前言: 我们在注册网站的时候,往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需要一个日期类型,反过来,在页面上显示的时

  • 本文向大家介绍C#控制台基础 List泛型集合与对应的数组相互转换实现代码,包括了C#控制台基础 List泛型集合与对应的数组相互转换实现代码的使用技巧和注意事项,需要的朋友参考一下 核心代码: 效果图:

  • 本文向大家介绍java list,set,map,数组间的相互转换详解,包括了java list,set,map,数组间的相互转换详解的使用技巧和注意事项,需要的朋友参考一下 java list,set,map,数组间的相互转换详解 1.list转set 2.set转list  3.数组转为list  此时stooges中有有三个元素。注意:此时的list不能进行add操作,否则会报 “java.

  • 本文向大家介绍php中实现xml与mysql数据相互转换的方法,包括了php中实现xml与mysql数据相互转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php中实现xml与mysql数据相互转换的方法。分享给大家供大家参考。具体分析如下: 这里提供了一个mysql2xml转换类,可以快速的把xml转换成mysql同时反之也可以把mysql转换成xml,下面看代码. mysql