java中数组转成list_java数组转json

java中数组转成list_java数组转jsonJava数组转List的几种方法一、Arrays.asList二、Collections.addAll三、Arrays.stream(arr).collect(Collectors.toList())本文提供了几种Java中常用的数组转List的方法一、Arrays.asList//Array转ListString[]arr={“a”,”b”,”c”};List<String>list=Arrays.asList(arr);System.out.println

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

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

本文提供了几种Java中常用的数组转List的方法

一、Arrays.asList

// Array 转 List
String[] arr = { 
   "a", "b", "c"};
List<String> list = Arrays.asList(arr);
System.out.println(JSONObject.toJSONString(list));

输出结果:

["a","b","c"]

使用该方法有两个问题:

1. 使用Arrays.asList生成的list是定长的,无法增加或删除元素,调用add或remove方法会抛出UnsupportedOperationException异常

list.add("dd");		// list 添加元素
// list.remove(0); // list 删除元素

输出结果:

Exception in thread "main" java.lang.UnsupportedOperationException
	at java.util.AbstractList.add(AbstractList.java:148)
	at java.util.AbstractList.add(AbstractList.java:108)
	at com.xhm.test.java.collection.ArrayToList.main(ArrayToList.java:19)

2. 修改原数组中的元素值,List中对应的元素值也会改变

arr[2] = "ccc";
System.out.println(JSONObject.toJSONString(list));

输出结果:

["a","b","ccc"]

二、Collections.addAll

// Array 转 List
String[] arr1 = { 
   "a", "b", "c"};
List<String> list1 = new ArrayList<String>();
Collections.addAll(list1, arr1);
System.out.println(JSONObject.toJSONString(list1));

list1.add("d");		// list 添加元素
System.out.println(JSONObject.toJSONString(list1));

list1.remove(0);	// list 删除元素
System.out.println(JSONObject.toJSONString(list1));

输出结果:

["a","b","c"]
["a","b","c","d"]
["b","c","d"]

三、Arrays.stream(arr).collect(Collectors.toList())

// Array 转 List
String[] arr2 = { 
   "a", "b", "c"};
List<String> list2 = Arrays.stream(arr2).collect(Collectors.toList());
System.out.println(JSONObject.toJSONString(list2));
   
list2.add("e");		// list 添加元素
System.out.println(JSONObject.toJSONString(list2));

list2.remove(0);	// list 删除元素
System.out.println(JSONObject.toJSONString(list2));

输出结果:

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172247.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java之父:詹姆斯·高斯林 (James Gosling)

    Java之父:詹姆斯·高斯林 (James Gosling)Java之父:詹姆斯·高斯林(JamesGosling)Java自1995诞生,至今已经20多年的历史。Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。据JamesGosling回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。我们的新语言需要一个

    2022年7月8日
  • python屏幕文字识别_python识别图片文字

    python屏幕文字识别_python识别图片文字因为学校要求要刷一门叫《包装世界》的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看…所以写了几行代码来进行百度搜答案。思路如下:手机屏幕投影到电脑上;截图并识别图片文字;调用百度来进行搜索;提取html关键字。环境配置:python3.6、第三方库:pyautogui、PIL、pytesseract、识别引擎tesseract-…

    2022年6月6日
  • 多种DLL注入技术原理介绍

    多种DLL注入技术原理介绍本文中我将介绍DLL注入的相关知识。不算太糟的是,DLL注入技术可以被正常软件用来添加/扩展其他程序,调试或逆向工程的功能性;该技术也常被恶意软件以多种方式利用。这意味着从安全角度来说,了解DLL注入的工作原理是十分必要的。不久前在为攻击方测试(目的是为了模拟不同类型的攻击行为)开发定制工具的时候,我编写了这个名为“injectAllTheThings”的小工程的大…

    2022年5月17日
  • python aic准则_在Python中手工计算Akaike信息标准(AIC)

    python aic准则_在Python中手工计算Akaike信息标准(AIC)据我所知,Python中没有AIC包。因此,我试图手动计算它,以找到数据集中的最佳集群数(我使用K-均值进行集群)我遵循Wiki上的公式:AIC=2k-2ln(最大可能性)以下是我当前的代码:range_n_clusters=range(2,10)forn_clustersinrange_n_clusters:model=cluster.KMeans(n_clusters=n_cl…

    2022年5月23日
  • Hex dump_dump数据

    Hex dump_dump数据HexdumpFromWikipedia,thefreeencyclopediaAhexdumpofthe318byteWikipediafaviconIncomputing,ahexdumpisahexadecimalview(onscreenorpaper)ofcomputerdata…

    2022年9月21日
  • SMO算法最通俗易懂的解释[通俗易懂]

    SMO算法最通俗易懂的解释[通俗易懂]我的机器学习教程「美团」算法工程师带你入门机器学习已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~SVM通常用对偶问题来求解,这…

    2022年6月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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