首页 > 编程语言 >java 数组添加元素的两种方法

java 数组添加元素的两种方法

时间:2023-12-11 20:01:05浏览次数:36  
标签:java String Arrays s2 s1 list 添加 数组 ArrayList

方式一:

创建一个新数组,长度为原数组加1,然后将原数组数据添加到新数组,最后再添加需要的新数据

	@Test
    public void redd111(){
        String[] s1 = {"aaa","bbb","ccc"};
        String[] s2 = new String[s1.length+1];
        for (int i = 0; i < s1.length; i++) {
            s2[i] = s1[i];
        }
        s2[s1.length] = "ddd";
        System.out.println(Arrays.toString(s2));
    }

方式二:

先把数组转化为list,将该list添加到一个新的ArrayList中,再使用新ArrayList的add()方法添加元素,最后把新ArrayList转化为数组。

	@Test
    public void redd222(){
        String[] s1 = {"aaa","bbb","ccc"};
        List<String> tempList = Arrays.asList(s1);
        List<String> list = new ArrayList<>();
        list.addAll(tempList);
        list.add(1,"ddd");
        String[] s2 = new String[list.size()];
        list.toArray(s2);
        System.out.println(Arrays.toString(s2));
    }

也可以简化一下写法:

	@Test
    public void redd222(){
        String[] s1 = {"aaa","bbb","ccc"};
        List<String> list = new ArrayList<>(Arrays.asList(s1));
        list.add(1,"ddd");
        String[] s2 = new String[list.size()];
        list.toArray(s2);
        System.out.println(Arrays.toString(s2));
    }

注意点:
使用Arrays.asList()方法将数组转为list时,该方法返回的是一个final的,固定长度的ArrayList类,他是Arrays的内部类,并不是java.util.ArrayList,所以不能直接使用它进行add操作哦,否则会报如下错误哦

异常信息:

java.lang.UnsupportedOperationException
	at java.util.AbstractList.add(AbstractList.java:148)

标签:java,String,Arrays,s2,s1,list,添加,数组,ArrayList
From: https://blog.51cto.com/u_16377360/8777356

相关文章

  • JAVA 给数组添加元素
    组是不可变长度,那么已经定义的数组,怎么添加元素呢?//1.已有的数组column和list集合String[]column={"身份证号","员工编号","姓名"};List<String>list=newArrayList<>();list.add("奖金");list.add("提成&q......
  • 软件测试/人工智能|Java Edit Plus 安装与配置指南
    前言最近我这个一直使用Python的人,开始尝试学习了一下Java,我的朋友跟我说,别像Python那样,开始就使用一个功能强大的IDE,Java语法更为复杂,可以先使用一个轻量化的编辑器,我开始准备使用notepad++,我朋友跟我推荐了EditPlus,我使用之后,就真香了,本文就给大家介绍一下EditPlus的安装和配......
  • Java基础面试题
    一、面试题汇总1.请简述java特点?简单、平台无关性、面向对象、多线程、分布性、高性能(相对于其他解释型语言)、健壮性、开源2.什么是JDK,JRE,JVM及它们之间的关系?JDK是JAVA的核心,包括JRE(JAVA虚拟环境)、编译器、运行工具等JRE是JAVA运行环境,包括JVM、JAVA平台核心类和支......
  • 写class的奇淫巧技-数组遍历
    class想提供类似数组的能力可以自定义Symbol.iteratorclassA{ *[Symbol.iterator](){ yieldthis.x; yieldthis.y; yieldthis.z; }}如:......
  • springboot下添加全局异常处理和自定义异常处理
    前言在spring项目中,优雅处理异常,好处是可以将系统产生的全部异常统一捕获处理,自定义的异常也由全局异常来捕获,如果涉及到validator参数校验器使用全局异常捕获也是较为方便。相关代码:GlobalExceptionHandler类:@Slf4j@RestControllerAdvicepublicclassGlobalExceptionHandl......
  • JAVA:mapper.java和mapper.xml的关系,以及foreach的用法
    简单理解就是,java声明了方法,xml实现了方法,类似与接口与实现接口,他们之间的关系如下:// Mapper.java中List<Ranks>inquireOnlyName(@Param("names")List<String>names,@Param("status")Stringstatus,@Param("startIndex&qu......
  • java高精度定位系统源码,人员定位,物资定位
    高精度定位系统源码,前端框架:Vue  后端框架:Springboot超宽带(UltraWide-Band,UWB)是一种新型的无线通信技术,根据通信委员会的规范,UWB的工作频带为3.1~10.6GHz,系统-10dB带宽与系统中心频率之比大于20%或系统带宽至少为500MHz。UWB信号的发生可通过发射时间极短(如2ns)的窄脉冲(如二次......
  • java内部类
    一、内部类概述示例: 二、成员内部类 三、局部内部类  四、匿名内部类 示例:  五、匿名内部类在开发中的使用 ......
  • java循环结构
    java中的循环结构:while循环inti=1;while(i<=5){System.out.println("第"+i+"次打印");i++;} do-while循环do{System.out.println("打印do");}while(false); for循环适用于执行次数确定的循环。for(intb=1;b<=5;b+=2){System.......
  • 【Java集合】双列集合HashMap的概念、特点及使用
    上篇文章讲了Map接口的概念,通过他提供的接口方法,我们学习了如何使用以及对Map集合的遍历HashMap概念HashMap集合是Map接口的一个实现类,它用于存储键值映射关系,该集合的键和值允许为空,但键不能重复,且集合中的元素是无序的。特点HashMap底层是由哈希表结构组成的,其实就是“数组......