如何将一个数组转成集合?

java.util.Arrays 类为我们提供了一个方法
Arrays.asList(T… a)

此方法可以将数组转换成一个arrayList集合

使用方法

 public static void main(String[] args) {String[] array= {"张三","李四","王五"};List<String> asList = Arrays.asList(array);System.out.println(asList.toString());    }

输出

[张三, 李四, 王五]

注意:通过Arrays.asList(T… a)转换后的集合不可以进行添加或删除等修改操作,否则会报错:
向数组转换后的集合添加元素:

 public static void main(String[] args) {String[] array= {"张三","李四","王五"};List<String> asList = Arrays.asList(array);asList.add("赵六");System.out.println(asList.toString()); }

向数组转后的集合删除元素:

 public static void main(String[] args) {String[] array= {"张三","李四","王五"};List<String> asList = Arrays.asList(array);asList.remove(0);System.out.println(asList.toString());   }

会发现,报了一个同样的错:

Exception in thread "main" java.lang.UnsupportedOperationExceptionat java.util.AbstractList.remove(Unknown Source)at com.strCount.Str01.main(Str01.java:11)

调用Arrays.asList()生成的List的add、remove方法时报异常,这是因为Arrays.asList() 返回的是Arrays的内部类ArrayList, 而不是java.util.ArrayList。Arrays的内部类ArrayList和java.util.ArrayList都是继承AbstractList,remove、add等方法AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。java.util.ArrayList重写了这些方法而Arrays的内部类ArrayList没有重写,所以会抛出异常。解决方法如下:

 public static void main(String[] args) {String[] array= {"张三","李四","王五"};List<String> asList = Arrays.asList(array);ArrayList arrayList = new ArrayList(asList);arrayList.add("赵六");System.out.println(arrayList.toString());  }

输出:

[张三, 李四, 王五, 赵六]

注意此时的集合已不再是之前转换后的集合,而是重新创建了一个新的集合,并且将转换后的集合复制进去,再进行操作

如何将一个数组转成集合?相关推荐

  1. Java中如何将一个数组分割成多个等长度的数组

    Java中如何将一个数组分割成多个等长度的数组,最后剩下的为一个素组 先看图 分析数据 提取公式 分装代码 1.如下我们需求 最近朋友android项目中有一个需求如下: 这一个长集合[item0, ...

  2. Java 数组转成集合List三种方法和(数组、集合List、Set相互转换)

    Java 数组转成集合List 三种方法 package com.list;import java.util.ArrayList; import java.util.Arrays; import ja ...

  3. http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理,及它的逆向函数...

    http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理 例如: $data = array('foo'=>'bar', 'b ...

  4. vue数组转list集合_数组转换成集合

    package com.loaderman.jdk5; import java.util.ArrayList; import java.util.Arrays; import java.util.Li ...

  5. php将一个数组转成字符串,php怎样将数组转化成字符串

    php将数组转化成字符串的方法:可以利用内置函数implode()来进行转化.implode()函数可以返回一个由数组元素组成的字符串,例如:[implode(",", $arra ...

  6. Java 数组转化成集合

    用 Java Util 类的 Arrays.asList(name) 方法将数组转换为集合 完整代码 import java.util.*; import java.io.*;public class ...

  7. 将数组转换成集合Arrays.asList,不可进行add和remove操作的原因

    直接上代码: import java.util.Arrays; import java.util.List;public class Test {public static void main(Str ...

  8. 怎么将一个数组转化成字符串

    1 import string 2 import random 3 4 print(string.ascii_lowercase) #输出所有的小写字母 5 6 L1 = random.sample( ...

  9. 数组转化为集合的方式asList()

    asList()的使用 String[] arr = {"abc","ccc","ddd"};/*把数组变成list集合的好处?* 可以使用 ...

最新文章

  1. Daily Storm - 31/10/12
  2. 网页中添加QQ,msn留言按钮
  3. 如何配置jenkins 与代理服务器吗?
  4. POJ2154(Pólya定理与欧拉函数优化)
  5. 实战|对某棋牌站的一次getshell
  6. 计算机网络部分简答题
  7. 内存泄露从入门到精通三部曲之排查方法篇
  8. [机器学习笔记] Note3--多变量线性回归
  9. 微信小程序云开发之云函数创建
  10. 关于建立 Carbon Forum 后 设置访问链接的问题
  11. Web Application Framework
  12. CDays–5 习题二(利用Python科学计算特性,使用常用计算符)及相关内容解析。...
  13. 梦笔记2022-02-28
  14. CLR基础---生成、打包、部署和管理应用程序及类型(二)
  15. Linux好用命令之dig命令
  16. 常见元件、封装及尺寸
  17. spring boot实现邮箱验证码注册
  18. 记一次简单的企业微信推送消息开发(第三方应用开发)
  19. 在线AI日语视频音频翻译中文字幕
  20. Flutter技术与实战(6)

热门文章

  1. Python闭包练习
  2. 数据库 MySQL常用命令 SQL语句1
  3. 1 盒用 1 年,这个防雾黑科技,让你的眼镜再也不起雾!
  4. Global.asax全局文件应用
  5. xgboost算法_【模型篇】XGBoost模型
  6. 20210930 张潜龙 模拟期货交易日志
  7. 重温2021,回顾三星显示器的几大出彩瞬间
  8. css倾斜发光文字鼠标移动js特效
  9. 【ECharts】百度图表插件ECharts使用
  10. 细数 NFT 十大类别:PFP、艺术、游戏......