如何将一个数组转成集合数组_java数组转list集合

如何将一个数组转成集合数组_java数组转list集合如何将一个数组转成集合?java.util.Arrays类为我们提供了一个方法Arrays.asList(T…a)此方法可以将数组转换成一个arrayList集合使用方法: publicstaticvoidmain(String[]args){ String[]array={“张三”,”李四”,”王五”}; List<String>asList=Arrays.asList(array); System.out.println(asList.toStr

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

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.UnsupportedOperationException
	at 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());	
	}

输出:

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192656.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • web服务器状态码(服务端500错误码)

    对于第304页的错误,一直是SEO工作人员老生常谈的话题。初始网站管理员对304错误非常敏感。互联网上总是有与之相关的新闻,比如:大量的304状态码会在网站上被降级,但这是真的吗?一、304错误提示是什么意思?简单理解:网站304的错误状态代码是当客户端试图访问服务器互相的信息提示。如果第二次访问期间页面内容没有更改,服务器将返回304状态代码。严格来说,这不是一个错误。值得注意的是,通过网站的日…

  • 利用JS跨域做一个简单的页面訪问统计系统

    利用JS跨域做一个简单的页面訪问统计系统

  • 微信小程序列表页面_微信发现没有小程序

    微信小程序列表页面_微信发现没有小程序尽量不要用缓存去写效果展示:点击编辑,进入编辑页第一页编辑按钮:<viewclass=”bj-btn”bindtap=”redactGroup”data-id=”{{传递的id}}”>编辑</view>redactGroup方法:options.currentTarget.dataset.前面自定义的名字redactGroup(options){letid=options.currentTarget.dataset.id;…

  • 实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress

    实用ExtJS教程100例-003:进度条对话框Ext.MessageBox.progress在上一篇内容中我们介绍了三种常用的MessageBox提示框,在这篇文章中,我们将演示如何在对话框中使用进度条。进度条对话框我们可以使用下面的代码来在MessageBox中显示一个进度条:Ext.get(“btn4”).on(“click”,function(){Ext.MessageBox.progress(“进度”,”…

  • 磁盘管理器能看到u盘,但电脑里没有_bt3安装到u盘启动不了

    磁盘管理器能看到u盘,但电脑里没有_bt3安装到u盘启动不了最近在弄bt3U盘版的时候,依照网上的方法弄了半天都有问题,一直都进不去xwindow,由于spoonwep工具是有界面的,故只在命令行下如果没有界面的支持,是不能办事的,后来在网上看到很多兄弟们说显卡的问题,结果在无线网论坛里找到了ATI卡的驱动,具体下载的地址是:http://www.wlanbbs.com/thread-5439-1-1.html  非常感谢这位提供驱动的兄弟,ATI在哪

  • 初学者该掌握的计算机知识,初学者该如何学习电脑知识

    初学者该掌握的计算机知识,初学者该如何学习电脑知识看到不少刚入门的电脑刚入门者找不到适合自己的学习方法,到处碰壁,那么呢?接下来大家跟着小编一起来了解一下学习电脑知识的解决方法吧。初学者学习电脑知识方法第一阶段:鼠标和键盘的操作鼠标的操作主要是:移动、拖动、单击、双击和右击,知道鼠标的作用以及基本操作。掌握键盘的操作,可以通过打字练习来完成,熟悉键盘排列,可以熟练打字。第二阶段:操作系统的学习对windowsxp的了解,知道xp系统有哪些基本功…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号