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


相关推荐

  • 矩阵分析:向量范数,矩阵范数,范数应用[通俗易懂]

    矩阵分析:向量范数,矩阵范数,范数应用[通俗易懂]1,向量范数1.1,向量范数的定义和例子设是复数域上的维向量空间,称函数为向量范数,是指对所有,有下列性质:(1)非负性:,并且当且仅当。(2)齐次性:对任何,。(3)三角不等式:若对任意,有:(1)(2)(3)证明(3):根据三角不等式,有:两式分别相减可得:设,则下列实值函数都是上的向量范数:(1)2范数:(2)1范数:(3)范数:(4)p范数:,当时,分别得到向量1范数和2范数,并且可以证明…

    2022年9月19日
    3
  • av狼 php,www.ygyyxx.com

    av狼 php,www.ygyyxx.comDomainName:YGYYXX.COMRegistryDomainID:2350998641_DOMAIN_COM-VRSNRegistrarWHOISServer:whois.namesilo.comRegistrarURL:http://www.namesilo.comUpdatedDate:2020-01-08T14:48:59ZCreationDate:20…

    2022年9月22日
    3
  • 单选钮和复选框控件的应用教案_在mfc中弹出一个窗口

    单选钮和复选框控件的应用教案_在mfc中弹出一个窗口单选按钮#include <windows.h>LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);HINSTANCE hInst;int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine,…

    2022年8月18日
    15
  • UEFI安装win10+manjaro双系统

    UEFI安装win10+manjaro双系统前期准备win10下载ISO:manjaro下载制作启动盘(win10)制作启动盘(manjaro)BIOS设置安装UEFI+GPT安装win10安装win10安装manjaro前期准备win10下载ISO:微软官方Windows10ISO直接下载网页:https://www.microsoft.com/zh-cn/software-down…

    2022年6月25日
    45
  • 数据仓库之DWD层

    数据仓库之DWD层DWD(DataWareHouseDetail)数据明细层,主要是将从业务数据库中同步过来的ODS层数据进行清洗和整合成相应的事实表。事实表作为数据仓库维度建模的核心,需要紧紧围绕着业务过程来设计。在拿到业务系统的表结构后,进行大概的梳理,再与业务方沟通整个业务过程的流转过程,对业务的整个生命周期进行分析,明确关键的业务步骤,在能满足业务需求的前提下,尽可能设计出更通用的模型。业务方有时只仅仅只是考虑了当下的情况。例如业务想要一个审核通过人员的明细数据,我们设计了一个全量的审核明细表,过了几天,业务

    2022年6月26日
    43
  • 推荐三十款最好的免费项目管理软件

    推荐三十款最好的免费项目管理软件1.TeamLab  TeamLab 是一个免费开源的商业协作和项目管理的平台。TeamLab 主要功能包括:项目管理、里程碑管理、任务、报表、事件、博客、论坛、书签、Wiki、即时消息等等。2.XPlanner+   XPlanner是专门为XP(极限编程)团队设计的项目管理工具3.NavalPlan   NavalPlan是一

    2022年5月13日
    55

发表回复

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

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