如何将两个java数组合并为一个
这就是我目前所拥有的如何将两个java数组合并为一个,java,arrays,Java,Arrays,这就是我目前所拥有的 int[] startInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // first half of array int[] endInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // other half of array int[] newInts = new int[startInts.length + endInts.len
int[] startInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // first half of array
int[] endInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // other half of array
int[] newInts = new int[startInts.length + endInts.length];
System.arraycopy(startInts, 0, newInts, 0, startInts.length);
System.arraycopy(endInts, 0, newInts, startInts.length, endInts.length);
myInts = newInts;
但这只是给我一个数字
它实际上并没有将两个数组合并为一个数组。任何关于如何做到这一点的帮助
解决方案
或
你应使用:
String[] both = ArrayUtils.addAll(first, second);
当ArrayUtils是Apache Commons Lang库中的一个类时,为什么不使用ArrayList的
ArrayList<String> a = new ArrayList<String>();
ArrayList<String> b = new ArrayList<String>();
a.add("a1");
a.add("a2");
b.add("b1");
b.add("b2");
ArrayList<String> c = new ArrayList<String>();
c.addAll(a);
c.addAll(b);
System.out.println(c.toString());
ArrayList a=新的ArrayList();
ArrayList b=新的ArrayList();
a、 添加(“a1”);
a、 添加(“a2”);
b、 添加(“b1”);
b、 添加(“b2”);
ArrayList c=新的ArrayList();
c、 阿道尔(a);
c、 阿道尔(b);
System.out.println(c.toString());
当然,如果你想从真正的
数组开始,那么你可以使用数组将它们转换成数组列表
方法
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
从指定的源阵列复制阵列,从开始
指定位置到目的地的指定位置
数组
查找所有函数集
编辑
int[] startInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // first half of array
int[] endInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // other half of array
这里您可能面临的问题是startInts
和endInts
是相同的,因此它不是上半部分和下半部分,只是上半部分和上半部分 在询问类似问题之前,请先进行搜索questions@KugathasanAbimaran没有答案,所以是的。@KugathasanAbimaran对这个问题没有真正明确的答案,这意味着没有真正的解决方案。你能参考这一点吗?这可能会对你有所帮助。我更喜欢本机操作系统java代码这给了我所有连接的东西,不是连接的事物的数组。有什么方法可以改变这个吗?我不知道你的意思。当我这样做时,它会加上array1.length+array2.length并返回元素总数。它不返回元素。例如,它返回这个:10而不是这个:1,2,3,4,5,6,7,8,9,10如果你看到我这样做的代码,问题是起始点和结束点都是一样的。所以你得到的数组的大小是起始点的两倍,比如[endInts,endInts]
你是对的。我已经修复了它,我一定按了ctrl+z,没有注意到,但是我仍然没有得到想要的输出打印数组并检查startInts
和endInts
的数组值。哇,它工作了,我不敢相信这仅仅是一个简单的打字错误导致了所有错误的输出。非常感谢你指出我根本没有注意到这一点。解决方案在上面
ArrayList<String> a = new ArrayList<String>();
ArrayList<String> b = new ArrayList<String>();
a.add("a1");
a.add("a2");
b.add("b1");
b.add("b2");
ArrayList<String> c = new ArrayList<String>();
c.addAll(a);
c.addAll(b);
System.out.println(c.toString());
arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
int[] startInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // first half of array
int[] endInts = Arrays.copyOfRange(myInts, count+1, myInts.length); // other half of array