Java中如何实现数组与集合之间的相互转换方法解析?

2026-06-10 15:511阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计520个文字,预计阅读时间需要3分钟。

Java中如何实现数组与集合之间的相互转换方法解析?

本文主要介绍了Java中数组和集合之间的相互转换实现,通过示例代码简要展示了非详细过程,对初学者或工作者具有一定的参考价值。以下为List转数组示例:

javaList list=Arrays.asList(1, 2, 3, 4, 5);Integer[] array=list.toArray(new Integer[0]);

这篇文章主要介绍了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中如何实现数组与集合之间的相互转换方法解析?

本文共计520个文字,预计阅读时间需要3分钟。

Java中如何实现数组与集合之间的相互转换方法解析?

本文主要介绍了Java中数组和集合之间的相互转换实现,通过示例代码简要展示了非详细过程,对初学者或工作者具有一定的参考价值。以下为List转数组示例:

javaList list=Arrays.asList(1, 2, 3, 4, 5);Integer[] array=list.toArray(new Integer[0]);

这篇文章主要介绍了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中如何实现数组与集合之间的相互转换方法解析?