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)
上一篇 2022年8月23日 下午4:36
下一篇 2022年8月23日 下午4:46


相关推荐

  • springboot上传文件大小配置

    springboot上传文件大小配置springboot上传文件大小配置有两种方法,一种是直接再配置文件配置,一种是通过添加一个Bean来实现。第一种:application.properties中添加spring.http.multipart.maxFileSize=10MB spring.http.multipart.maxRequestSize=10MB其中,   maxFileSize是单个文件大…

    2022年5月10日
    52
  • html iframe自动高度,真正解决iframe高度自适应问题

    html iframe自动高度,真正解决iframe高度自适应问题1 前言解决 iframe 高度自适应问题有两种方法 1 pym2 手动设置 iframe 的高度本文主要是总结第二种实现方式 因为第一种 pym js 插件我没用懂如果使用 iframe 时 遇到以下的需求 iframe 的高度始终等于嵌入页面内容的高度 而不是屏幕的高度右侧不允许出现两个滚动条 iframe 的高度自适应不仅仅是指刚加载进来时 也有可能嵌入内容的高度会随点击变化 如 下拉菜单 左侧导航栏等 页面可能同

    2026年3月17日
    2
  • Java8 Stream 数据流,大数据量下的性能效率怎么样?

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:Al_assad blog.csdn.net/Al_assad/article/details/8235660…

    2021年6月28日
    97
  • System.setProperty(),System.setProperty

    System.setProperty(),System.setPropertySystem.getProperties()获得所有的系统变量System.getProperty(“os.name”)获取指定的系统变量(获取系统=windows8.1)System.setProperty(“koow”,”123″)储存在系统变量中,变量名为koow,值为123System.getProperty(“koow”)获取指定的系统变量(获取koow=12

    2022年7月12日
    22
  • 获取@ApiModelProperty注解的value与对应的类属性名

    获取@ApiModelProperty注解的value与对应的类属性名目标类 代码实现 publicclassT publicstatic String args Propertiesdi getApiModelP com tfjybj msg model DingLinkMess System out println dingLinkMess pu

    2025年7月8日
    2
  • string的format方法_string str = new string(“abc”)

    string的format方法_string str = new string(“abc”)问题在开发的时候一段字符串的中间某一部分是需要可变的比如一个Textview需要显示”XXX用户来自上海年龄21性别男” 其中的XXX是用户名每个用户也是不一样的 地区上海为可变的string数据 年龄21为可变的int数据 性别男为可变的string数据 遇到这种情况你们是怎么样解决的呢?把这段字符串保存在常量类里吗?不!我们应该遵循Google的开发…

    2022年8月10日
    9

发表回复

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

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