java如何向数组里添加元素

java如何向数组里添加元素java篇哇,菜鸟第一次写这个东西,当加深印象,大佬们请略过,欢迎有错指出。向数组里添加一个元素怎么添加,这儿总结有三种方法:1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。但有个可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指…

大家好,又见面了,我是你们的朋友全栈君。

java篇
哇,菜鸟第一次写这个东西,当加深印象,大佬们请略过,欢迎有错指出。

向数组里添加一个元素怎么添加,这儿总结有三种方法:

1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。
但有个可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指定下标处添加元素;例子如下:

        List<Integer> list=new ArrayList<Integer>();
    	list.add(1);
    	list.add(2);
    	list.add(3);
    	list.add(2,4);
    	System.out.println(list);

打印结果: [1, 2, 4, 3]

2、思路为先把array转化为list,用list的add()方法添加元素,再把list转化为array。
但这儿会有一个陷阱盲区,在把array转化为list的过程中,使用的asList()方法会返回一个final的,固定长度的ArrayList类,并不是java.util.ArrayList,直接这样利用它进行add()或remove()是无效的。

List<Integer> list=new ArrayList<Integer>();
    	list=Arrays.asList(sz);
    	list.add(5);

那应该怎么做呢,在定义list的时候就直接对array进行转化,代码如下:
(注意这儿Array类型是包装类,若是一般数据类型记得转化,转化参考我其他博客文章。)

//如 List<String> list=new ArrayList<String>();
//    	     list=Arrays.asList(str);
//这样不行,须如下:

Integer []sz={3,2};
List<Integer> list=new ArrayList(Arrays.asList(sz));//**须定义时就进行转化**
    	list.add(1,5);
    	Integer[] nsz=new Integer[list.size()];
    	list.toArray(nsz);
        System.out.println(Arrays.toString(nsz));

结果输出为:[3, 5, 2]

3、第三个方法思路为创建一个新数组,新数组的大小为旧数组大小+1,把旧数组里的元素copy一份进新数组,并把要添加的元素添加进新数组即可。

以上是菜鸟自我总结,如有错误或更好的建议请大佬们指正。

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

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

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


相关推荐

  • pycharm安装tensorflow版本无法找到_pycharm安装后无解释器

    pycharm安装tensorflow版本无法找到_pycharm安装后无解释器1、TensorFlow安装keras需要在TensorFlow之上才能运行。所以这里安装TensorFlow。TensorFlow需要vs环境,需要wein64位环境,所以32位的小伙伴需要升级为64位系统以后才行。(1)第一种方式使用pip安装如果只想专用cpu加速,安装pipinstall–upgradetensorflow如果想使用gpu加速,还需要安装pipinstall–upgradetensorflow-gpu安装以后还需要cuda显卡驱动,可参考https://

    2022年8月25日
  • vs2008sp1下载_vs2008激活成功教程版

    vs2008sp1下载_vs2008激活成功教程版安装VS2005SP1安装补丁包补充说明症状当您尝试运行MicrosoftWindowsServer2003或MicrosoftWindowsXP,计算机上安装大MicrosoftWindowsInstaller.msi)程序包或大型MicrosoftWindowsInstaller修补程序(.msp)程序包您可能会收到以下错误信息:错误1718。FileNa

    2022年10月5日
  • getParameterValues使用

    getParameterValues使用request.getParameterValues:接收名字相同,值有多个的变量,返回一个数据。如: String[]courseNumbers=request.getParameterValues(“courseNumberForCourse”);request.getParameter:接收单一值变量。如:stringtype=request.getPara

    2022年7月22日
  • matlab微分方程转化状态方程_matlab求微分方程的通解步骤

    matlab微分方程转化状态方程_matlab求微分方程的通解步骤[转]http://blog.sina.com.cn/s/blog_46e9b2010100tsqv.html用matlab时间也不短了,可是一直没有接触过微分方程。这次看看书,学习学习,记点儿笔记。

    2022年8月4日
  • webstorm2021永久激活【2021.10最新】

    (webstorm2021永久激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1435QFILVV-eyJsaWN…

    2022年3月30日
  • 网页title图标_php 数据库显示在页面并能修改

    网页title图标_php 数据库显示在页面并能修改在生成的pdf文件的页眉设置logo有以下解决方案重新定义TCPDF中的K_PATH_IMAGES常量(define(‘K_PATH_IMAGES’,xxxx),需要定义在加载tcpdf.php之前)##示例$logo=”xxxx”;//相对地址$pdf->SetHeaderData(PDF_HEADER_LOGO,PDF_HEADER_LOGO_WIDTH,”标题”,…

    2022年9月4日

发表回复

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

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