java数组如何添加元素

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

1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。

但有个可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指定下标处添加元素;例子如下:

List list=new ArrayList();

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 list=new ArrayList();

list=Arrays.asList(sz);

list.add(5);

那应该怎么做呢,在定义list的时候就直接对array进行转化,代码如下:

(注意这儿Array类型是包装类,若是一般数据类型记得转化,转化参考我其他博客文章。)

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

Integer []sz={3,2};

List list=new ArrayList(Arrays.asList(sz));//**须定义时就进行转化**

list.add(1,5);

Integer[] nsz=newInteger[list.size()];

list.toArray(nsz);

System.out.println(Arrays.toString(nsz));

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

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

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

java数组末尾添加元素_java数组添加元素,java数组如何添加一个元素相关推荐

  1. 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有

     1定义接口: Num.h #ifndef_NUM_H_ #define_NUM_H_ #include<stdio.h> #include<stdlib.h> /**** ...

  2. java 二维链表_Java数据结构与算法----数组与链表

    数据类型 1 数据类型介绍 数据类型的分类(按照结构划分):线性结构和非线性结构 线性结构:线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 线性结构有两种不同的存储结构,即顺序 ...

  3. java 数组下标 变量_Java基础语法:数组

    一.简介 描述: 数组是相同类型数据的有序集合. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 基本特点: 数组的长度是确定的.数组一旦被创建,它的大小就是不可以改变的. ...

  4. java对类数组进行排序_Java比较器类对数组进行排序

    小编典典 [-]应该如何声明Java Comparator类以按其降序将数组的第一个元素排序 [-] 这是使用Java 8的完整示例: import java.util.*; public class ...

  5. java 上转型对象_Java中上转型对象数组

    先上结论:上转型对象数组,不能添加子类类型以外的元素,编译可以通过,但是运行时会报错. 原文 在Java中,Object[]数组可以是任何数组的父类(因为任何一个数组都可以向上转型为它在定义时指定元素 ...

  6. java利用二维数组查找鞍点_java找二维数组的鞍点

    LOGO 制作者: 制作者: 班级: 班级: 学号: 学号: 指导老师: 指导老师: 一.设计要求 求一个二维数组中的鞍点,即 该位置上的元素在该...... 54,98 19,32,34,65,34 ...

  7. java二维数组怎么看_java、二维数组详解!

    /* java 二维数组的概念 使用方法! 1.什么是二维数组? 答案:数组的数组! 他的每一个元素都是数组!二维数组是(存储一维数组的)一维数组. 2.如何定义?(以二维数组为列) int arr[ ...

  8. java args的用法_Java中args参数数组的用法说明

    main方法args参数用于接收用户输入的参数,参数以字符串形式存放在数组中. 这里将传递参数参数的形式分两种,一种是传递普通参数,另一种是传递含有空格的参数. 1.传递普通参数 public cla ...

  9. java 十六进制转十进制_JAVA知识-分析JAVA中的重点和难点

    Java中有很多内容在开发项目的过程中并不常用,但是却是很重要的部分,为了避免忘记,今天重新温习了一遍Java中的重点和难点,借此机会记录一下方便以后查找. 本文主要分为以下几个部分: 1.进制的相互 ...

最新文章

  1. 楚留香手游系统互通的服务器,楚留香手游互通服务器汇总 哪些服能一起玩
  2. mysql中FIND_IN_SET的使用方法
  3. java后端经验和技术总结(1)
  4. python 中的*(星号)和**(双星号)简介
  5. kafka 丢弃数据_20条关于Kafka集群应对高吞吐量的避坑指南
  6. js调用QQ进程的方法总结
  7. Redis批量设置值取值
  8. django分页模块
  9. 二分搜索(折半搜索),lower_bound,upper_bound
  10. Linux: Nginx proxy_pass域名解析引发的故障
  11. P3112-[USACO14DEC]后卫马克Guard Mark【贪心】
  12. 察看linux内存使用情况
  13. 04.卷积神经网络 W3.目标检测(作业:自动驾驶 - 汽车检测)
  14. Java笔记-spring-rabbit框架中消息中header的添加
  15. 实现后台高级查询(高级版)
  16. 学习Python的利器:内置函数dir()和help()
  17. 开源 java CMS - FreeCMS2.8 数据对象 site
  18. 三线压力传感器原理_常见压力传感器原理及其接头
  19. 《自己动手写网络爬虫》读书笔记
  20. AUTOSAR —— CAN网络管理(CanNm)

热门文章

  1. 毕业生--参考文献查询网站及方法(中文核心及以上)
  2. 优化篇-图片动态转图
  3. [RoarCTF2019]polyre
  4. 把手机摄像头或智能电视摄像头数据推送到另一台手机或智能电视上的方法
  5. 京东区块链开源项目——JD Chain介绍及区块链白皮书发布
  6. algoc++之求解根号2
  7. 神箭手 美国亚马逊_亚马逊会摧毁美国的购物中心吗?还是会拯救它们?
  8. 教你解决M1芯片MAC安装PS2021卡在启动屏幕,完美解决PS21卡启动屏幕
  9. 百度网盘不限速下载工具,无需登录实现高速下载 (1)
  10. 怎么从STM32将代码移植到海思开发板Hi3861