在Java中将数组转换为列表的方式有哪些

  介绍

在Java中将数组转换为列表的方式有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

Java是什么

Java是一门面向对象编程语言,可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序。

<强>一。最常见方式(未必最佳)

通过<代码> arrays . aslist (strArray) 方式,将数组转换列表后,不能对增列表删,只能查改,否则抛异常。

关键代码:<代码>列表列表=arrays . aslist (strArray);

private  void  testArrayCastToListError (), {   String[],才能strArray =, new 字符串[2];   List 才能;List =, arrays . aslist (strArray);//对才能转换后的列表插入一条数据   list.add才能(“1“);   System.out.println才能(列表);   以前,}

执行结果:

异常在线程“main"java.lang.UnsupportedOperationException
,,,java.util.AbstractList.add (AbstractList.java: 148)
,,,java.util.AbstractList.add (AbstractList.java: 108)
,,,在com.darwin.junit.Calculator.testArrayCastToList(可:19)
,,,com.darwin.junit.Calculator.main(可:44)

程序在<代码> list.add(“1”) 处,抛出异常:UnsupportedOperationException。方式

<强>原因解析:

<代码> arrays . aslist (strArray) 返回值是<代码> java.util.Arrays> java.util.Arrays。ArrayList> java.util.ArrayList <代码> java.util.Arrays类。ArrayList> 设置(),<代码>(),<代码>包含()等方法,但是不具有添加<代码>()添加或删除<代码>删除()方法,所以调用<代码> add() 方法会报错。

使用场景:<代码> arrays . aslist (strArray) 方式仅能用在将数组转换为列表后,不需要增删其中的值,仅作为数据源读取使用。

<强>二。数组转为列表后,支持增删改查的方式

通过ArrayList的构造器,将<代码> arrays . aslist (strArray) 的返回值由<代码> java.util.Arrays.ArrayList> java.util。ArrayList .

关键代码:<代码> ArrayList列表=new ArrayList (arrays . aslist (strArray));

private  void  testArrayCastToListRight (), {   String[],才能strArray =, new 字符串[2];   ArrayList<才能;String>, list =, new  ArrayList (arrays . aslist (strArray)),;   list.add才能(“1“);   System.out.println才能(列表);   以前,}

执行结果:成功追加一个元素“1”。

[空,空,1]

使用场景:需要在将数组转换为列表后,对列表进行增删改查操作,在列表的数据量不大的情况下,可以使用。

<强>三。通过集合工具类Collections.addAll()方法(最高效)

通过<代码>集合。addAll (arrayList, strArray) 方式转换,根据数组的长度创建一个长度相同的列表,然后通过<代码> Collections.addAll() 方法,将数组中的元素转为二进制,然后添加到列表中,这是最高效的方法。

关键代码:

ArrayList<, String>, arrayList =, new  ArrayList (strArray.length);   Collections.addAll (arrayList, strArray);

测试:

private  void  testArrayCastToListEfficient () {   String[],才能strArray =, new 字符串[2];   ,,ArrayList, arrayList =, new  ArrayList (strArray.length);   Collections.addAll才能(arrayList, strArray);   arrayList.add才能(“1“);   System.out.println才能(arrayList);   以前,}

执行结果:同样成功追加一个元素“1”。

[空,空,1]

使用场景:需要在将数组转换为列表后,对列表进行增删改查操作,在列表的数据量巨大的情况下,优先使用,可以提高操作速度。

<强>注:附上<代码> Collections.addAll() 方法源码:

public  static  & lt; T>, boolean  addAll (Collection<?, super  T>, c, T…,元素),{   boolean 才能;result =,假;   for 才能;(T  element :元素)   ,,result  |=, c.add(元素);//结果和c.add(元素)按位或运算,然后赋值给结果   return 才能;结果;   ,}

看完上述内容,你们掌握在Java中将数组转换为列表的方式有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

在Java中将数组转换为列表的方式有哪些