Java实现向数组里添加元素

 更新时间:2023年11月06日 09:04:40   作者:zhangvalue  
这篇文章主要介绍了Java实现向数组里添加元素方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Java向数组里添加元素

向数组里添加一个元素怎么添加,一般数组是不能添加元素的,因为数组在初始化时就已定好长度了,不能改变长度。

比如:

        String[] str = new String[5];
        System.out.println(Arrays.toString(str));
        String[] str2 = new String[]{"a", "b"};
        System.out.println(Arrays.toString(str2));
        String[] str3 = {"c", "d"};
        System.out.println(Arrays.toString(str3));

第一种方法

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

        String[] datecolumn = {"Mon", "Tue", "Wed"};
        /**
         * 重新创建一个新的数组,需要添加多少个元素,就在原来的数组长度的基础上加几
         */
        System.out.println(datecolumn.length);
        String[] newColume = new String[datecolumn.length + 1];
        for (int i = 0; i < datecolumn.length; i++) {
            newColume[i]=datecolumn[i];
        }
        newColume[datecolumn.length]="Thu";
        System.out.println(Arrays.toString(newColume));

第二种方法

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

        List<String> datelist = new ArrayList<String>();
        datelist.add("Mon");
        datelist.add("Tue");
        datelist.add("Wed");
        //因为数组下标是从0开始,这里add的index为2即为第三个元素
        datelist.add(2, "Thu");
        datelist.add(1, "Fri");
        System.out.println(datelist);

Web值对应的index就成了3

第三种方法

思路为先把array转化为list,用list的add()方法添加元素,再把list转化为array。

但这儿会有一个陷阱盲区,在把array转化为list的过程中,使用的asList()方法会返回一个final的,固定长度的ArrayList类,并不是java.util.ArrayList,直接这样利用它进行add()或remove()是无效的。

        //1.已有的数组datecolumn和list集合
        String[] datecolumn = {"Mon", "Tue", "Wed"};
        List<String> list = new ArrayList<>();
        list.add("Thu");
        list.add("Fri");
        list.add("Sat");
        list.add("Sun");

        //2.数组和集合add到titleList中
        List<String> titleList = new ArrayList<String>();
        //将datecolum数组转换list并add到titleList中
        titleList.addAll(Arrays.asList(datecolumn));
        //将list添加到titleList中
        titleList.addAll(list);

        //3.titleList集合转换title数组
        String[] title = titleList.toArray(new String[titleList.size()]);
        //4.遍历title数组
        for (String string : title) {
            System.out.println(string);
        }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论