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一份进新数组,并把要添加的元素添加进新数组即可。

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

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

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

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

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

(1)


相关推荐

  • protel99se学习笔记

    protel99se学习笔记第一次画原理图,遇到好多问题,zuoxi

  • MYSQL时间戳和一般时间格式相互转化

    MYSQL时间戳和一般时间格式相互转化原文地址:【http://www.2cto.com/database/201208/145029.html】1、UNIX_TIMESTAMP(date)UNIX_TIMESTAMP(date) 如果没有参数调用,返回一个Unix时间戳记(从’1970-01-0100:00:00’GMT开始的秒数)。如果UNIX_TIMESTAMP()用一个date参数被调用,它返回从’1970-01…

  • 小议AutoEventWireup属性

    小议AutoEventWireup属性1.在web页面添加一个label和button控件ViewCode<%@PageLanguage=”C#”AutoEventWireup=”false”CodeFile=”AutoEventWireup属性.aspx.cs”Inherits=”_Default”%><!DOCTYPEhtmlPUBLIC”-//W3C//DT…

  • DataReader存在的意义

    DataReader存在的意义

  • python中0xf_Python 0xff作者

    python中0xf_Python 0xff作者我有个错误:UnicodeDecodeError:’utf-8’codeccan’tdecodebyte0xffinposition:0,invalidstartbyte我找到了这个解决方案:^{pr2}$但是如果a)你不知道0xff在哪里和/或b)你需要解码一个file对象,你怎么使用它呢?正确的语法/格式是什么?在我正在解析一个目录,所以我试着一次检查一个文件。(注意:…

  • IntelliJ IDEA常用快捷键汇总

    IntelliJ IDEA常用快捷键汇总在使用IntelliJIdea的时候,使用快捷键是必不可少的。掌握一些常用的快捷键能大大提高我们的开发效率。有些快捷键可以熟练的使用,但是还有另外一些快捷键虽然很好用,但是由于因为没有形成使用习惯或者没有理解快捷键的用法,甚至之前对一些快捷键根本没有概念,导致不会去使用。对于这些快捷键,如果能够用好,编辑代码的效率必能提高一个水平。所以在此梳理出来,加强自己的使用,形成习惯。(注:有些操作的快捷键

发表回复

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

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