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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于旁路由设置后,主路由WIFI无法上网的问题「建议收藏」

    关于旁路由设置后,主路由WIFI无法上网的问题「建议收藏」前言旁路由设置好后,手机、电脑连接主路由WIFI,会无法访问外网。但是,如果电脑用网线连接主路由,则可以正常上网。这究竟是怎么一回事儿呢?1.旁路由解释旁路由:旁路由其实并不是路由,路由是用来连接不同网络的,最常用的就是用来连接互联网和局域网。旁路由起到的主要是网关的作用,是用来分流数据和扩展插件的。因此,严谨一点的叫法应该是旁路网关,只是大家好像约定俗成了都叫做旁路由,所以我们这里也跟着叫旁路由,但是要明白它的核心是网关而不是路由。2.网络流量示意图如图所示,对于普通流量,由于旁路

    2022年6月12日
  • Java学习之JSP篇

    Java学习之JSP篇0x00前言关于jsp的内容其实不多,就来简单的记录一下jsp概念性的内容,避免忘记。0x01Jsp概念jsp的全称是JavaServerPages:java服

    2021年12月12日
  • 代理模式proxy_反向代理是什么

    代理模式proxy_反向代理是什么代理模式 Proxy动机模式定义实例结构要点总结笔记动机在面向对象系统中,由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程额外的访问等),直接访问会给使用者,或者系统结构带来很多麻烦.如何在不是去透明操作对象的同时来管理/控制这些对象特有的复杂性?增加一层间接曾是软件开发中常见的解决方式模式定义为其他对象提供一种代理以控制(隔离,使用接口)对这个对象的访问实例朴素客户端要去使用process 但是process周围需要做很多事情class ISubject{p

    2022年8月9日
  • X86 Debuggers And Tools-x86_en-us 下载及使用

    X86 Debuggers And Tools-x86_en-us 下载及使用下载地址:http://pan.baidu.com/s/1hrioJU8使用:第一步安装:双击X86DebuggersAndTools-x86_en-us.msi第二步打开cmd,进入目录:C:\ProgramFiles(x86)\WindowsKits\8.1\Debuggers\x86>第三步输入命令:adplus-crash-p8436-FullonFirst

    2022年5月4日
  • javaMD5加密类

    javaMD5加密类importjava.security.MessageDigest;publicclassMyMD5{ privateStringinStr;    privateMessageDigestmd5;  publicMyMD5(StringinStr){   this.inStr=inStr;   try{    this.md5=MessageDige

    2022年7月14日
  • 程序已在运行,只能运行一个实例_最常用解决冲突的办法

    程序已在运行,只能运行一个实例_最常用解决冲突的办法//开发中常用的只允许一个程序运行的办法//程序以单例模式运行常用办法,创建一个互斥量//由于互斥量只允许一个进程或者线程占用会创建失败,利用这个特性可以做到单例运行改程序#include"stdafx.h"#include&lt;windows.h&gt;#include&lt;stdio.h&gt;int_tmain(intargc,_TCHAR*argv[]…

    2022年10月5日

发表回复

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

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