我给了一个int
数组,我需要返回一个新数组,其数字3加到了数组的开头。
因此,如果数组是MyArray[1,2,3]
,我需要创建一个显示[3,1,2,3]
的新数组。
我不确定如果不使用 ArrayList 我应该如何做到这一点。我只需要循环就可以做到。
答案 0 :(得分:3)
尝试这样的事情:
group_by
你可以像这样使用它:
public int[] insert(int[] src, int value)
{
int[] dest = new int[src.length + 1];
dest[0] = value;
for (int i=0; i<src.length; i++)
{
dest[i+1] = src[i];
}
return dest;
}
这是基本的想法。您需要将其放入一个类中,添加错误检查(例如,如果int[] newArray = insert(MyArray, 3);
为src
会发生什么情况),等等。
答案 1 :(得分:1)
此处不需要显式循环,因为您可以使用System.arraycopy(Object src, int srcPost, Object dest, int destPos, int length)
。首先,决定如何处理数组的null
输入(返回一个新的元素数组是我所期望的)。否则,创建一个新的数组,其中包含一个元素的空间。设置第一个值,然后以偏移量1复制所有内容。最后,返回新数组。像,
public static int[] insertValue(int[] src, int value) {
if (src == null) {
return new int[] { value };
}
int[] dest = new int[src.length + 1];
dest[0] = value;
System.arraycopy(src, 0, dest, 1, src.length);
return dest;
}
答案 2 :(得分:0)
您可以使用pselect()
pselect()