首页 > 编程语言 >java 数组新增

java 数组新增

时间:2022-11-01 11:57:15浏览次数:45  
标签:intArr java Arrays list ArrayList 新增 add 数组 Integer

数组由于一开始就设定了长度,所以是不能直接新增的。但是可以通过其他方法来实现。

思路1:通过Arrays.asList()方法转换为ArrayList,调用ArrayList的add方法进行新增,最后再调用ArrayList的toArray转换回来。

思路2:通过Arrays.copyOf()方法将旧数组添加到新数组里,间接实现新增数据。

下面来看思路1:

这里需要注意一点:使用的asList()方法会返回一个final的,固定长度的ArrayList类,并不是java.util.ArrayList,直接这样利用它进行add()或remove()是无效的。

Integer[] intArr = {1,3,5};
        List<Integer> list = new ArrayList<>(); 
        list = Arrays.asList(intArr);
        list.add(1,2);  //报错 java.lang.UnsupportedOperationException。
        System.out.println(list);

正确做法:定义list的时候就直接对array进行转化

Integer[] intArr = {1,3,5};
        List<Integer> list = new ArrayList<>(Arrays.asList(intArr)); 
        list.add(1,2);
        System.out.println(list);

运行结果:[1, 2, 3, 5]

最后一步,转化为数组形式,附上完整代码:

Integer[] intArr = {1,3,5};
        List<Integer> list = new ArrayList<>(Arrays.asList(intArr)); 
        list.add(1,2);
        System.out.println("list: "+ list);
        Integer[] nsz = new Integer[list.size()];
        list.toArray(nsz);
        System.out.println("arr: " + Arrays.toString(nsz));

运行结果:list: [1, 2, 3, 5]

arr: [1, 2, 3, 5]

 

标签:intArr,java,Arrays,list,ArrayList,新增,add,数组,Integer
From: https://www.cnblogs.com/dongdges/p/16847205.html

相关文章

  • Java多线程-线程生命周期(一)
    如果要问我Java当中最难的部分是什么?最有意思的部分是什么?最多人讨论的部分是什么?那我会毫不犹豫地说:多线程。Java多线程说它难,也不难,就是有点绕;说它简单,也不简单,需要理......
  • 探针技术-JavaAgent 和字节码增强技术-Byte Buddy
    探针技术-JavaAgent和字节码增强技术-ByteBuddy 能够基于JavaAgent编写出普通类的代理理解ByteBuddy的作用能够基于ByteBuddy编写动态代理1ByteBuddyByte......
  • java Stream流练习
    1.遍历/匹配(foreach/find/match)Stream也是支持类似集合的遍历和匹配元素的,只是Stream中的元素是以Optional类型存在的。Stream的遍历、匹配非常简单。List<Integer>list......
  • 利用java数组实现栈
    栈作为被广泛使用的数据结构,是在一个特定范围的存储单元中存储的数据,这些数据可以重新被取出使用,与线性表相比,它们的插入和删除受到更多的约束和限定,所以又称为限定性的线性......
  • Java实现 Serializable 序列化
    深度理解Java实现Serializable序列化概念把对象转换为直接序列的过程叫对象的序列化把字节序列恢复为对象的过程叫对象的反序列化用途对象持久化跨网络数据交换,远程过程调......
  • 初识java爬虫
    早上闲来无事,先总结一下昨天学到的最基本的的爬虫。首先说爬虫,其实就是向要爬取的网站发送一个http请求,取得反馈数据,然后解析数据,获得我们想要的数据。简单来说需要两步:......
  • dubbo java.nio.channels.ClosedChannelException、com.alibaba.dubbo.remoting.Remot
    客户端错误:com.alibaba.dubbo.rpc.RpcException:Invokeremotemethodtimeout.method:searchUser,provider:...cause:Waitingserver-sideresponsetimeoutbyscan......
  • JavaScript语法逻辑运算符和JavaScript三元运算符
    5.逻辑运算符 &&||! *其他类型转boolean:1.number:0或NaN为假,其他为真2.string:除了空字符串(""),其他都是true......
  • JavaWeb学习(四)期中考试总结(方框形式超链接,对修改页面进行优化,多条件模糊查询、输入长
    一、方框形式超链接 <inputtype="button"value="注册"onclick="location.href='zhuce.jsp'"/>  二、对修改页面进行优化<tr><td>活动主题(不超过20个汉......
  • 剑指offer——数字在排序数组中出现的次数
    题目描述:统计给定数字k在排序数组中出现的次数思路1:最容易想到但是效率不高的一个方法就是遍历整个数组,统计k出现的次数(for循环就能解决,不赘述)思路2:由于题目给出是排序......