如何给数组添加元素

如何给数组添加元素,第1张

数组里添加一个元素怎么添加,这儿总结有三种方法
1、一般数组是不能添加元素的,因为他们在初始化时就已定好长度了,不能改变长度。
但有个可以改变大小的数组为ArrayList,即可以定义一个ArrayList数组,然后用add(element)方法往里添加元素即可,还可add(index,element)往指定下标处添加元素
2、思路为先把array转化为list,用list的add()方法添加元素,再把list转化为array。
但这儿会有一个陷阱盲区,在把array转化为list的过程中,使用的asList()方法会返回一个final的,固定长度的ArrayList类,并不是javautilArrayList,直接这样利用它进行add()或remove()是无效的。
那应该怎么做呢,在定义list的时候就直接对array进行转化
第三个方法思路为创建一个新数组,新数组的大小为旧数组大小+1,把旧数组里的元素copy一份进新数组,并把要添加的元素添加进新数组即可。

arraylist的元素是object类型,所以直接添加就可以了。

public class Test
{
    public static void Main(String[] args)
    {
        ArrayList arr = new ArrayList();
        int[] dat = new int[10] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
        arrAdd(dat);
        int[] d = (int[]) arr[0];
        for (int i = 0; i < dLength; i++)
            ConsoleWrite(d[i] + " ");
        ConsoleReadKey();
    }
}

ArrayList list=new ArrayList<List>();//声明一个泛型为List的ArrayList,调用ArrayList的addAll方法将现有数组或者List添加进该list即可

你的ArrayList的Insert方法用法不对,Insert(3,xx)是在第3+1个列表项处添加一个元素xx,不能直接添加数组,必须用类似下面的方式将要添加的数组中的元素挨个添加进去:
foreach( int el in arr1 )
listInsert(3,el);
要注意这样会把arr1里的所有元素倒序地插入list里。因为在foreach循环里从arr1的第一个元素开始每次插一个元素到位置3,这样,在第一次循环中将arr1[0]插入到位置3、第二次是将arr1[1]插到位置3(排在了第一次插入的arr1[0]之前)……所以foreach每一次循环都会把arr1的下一个元素插在上一次刚刚插入的元素之前。于是你会看到arr1是被倒序地插入的。
要顺序插入,可以用个辅助变量i:
int i=0;
foreach( int el in arr1 )
listInsert(3+i++,el);

你是想集合取出来放到数组,其实可以更简单,数组和集合之间是可以相互转换的。
List转换为Array可以这样处理:
ArrayList<String> list=new ArrayList<String>();
String[] strings = new String[listsize()];
listtoArray(strings);
类型可以换成你的数据类型。
数组转成List如下:
String[] s = {"a","b","c"};List list = javautilArraysasList(s);
同样的数据类型可以换成自己的数据类型

首先取出styleid字段的值,假设是字符串String
styleid="a/b/c";
然后String[]
s
=
styleidsplit("/");
s就是字符串数组,s[0]="a";s[1]="b";s[3]="c"


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13357609.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存