当前位置: 首页 > 面试题库 >

在Java中将两个整数数组合并为一个数组

步胜
2023-03-14
问题内容

我见过类似的问题,但没有一个提供我所要的答案,因此,如果这被认为是重复的,我在此致歉。我正在尝试将数组{1,2,3}和{4,5,6}合并为{1,2,3,4,5,6}。我做错了什么?我是java的新手。抱歉,问题很愚蠢。

public class combine {
  public static void main(String[]args){

  int[]a = {1, 2, 3};
  int[]b = {4, 5, 6};
  int[]c = new int[a+b];
  for(int i=0; i<a.length; i++)
  System.out.print(c[i]+" ");
}
public static int[]merge(int[]a, int[]b){
  int[]c = new int[a.length+b.length];
  int i;
  for(i=0; i<a.length; i++)
     c[i] = a[i];

     for(int j=0; j<b.length; j++)
        c[i++]=b[j];
        return c;
}
}

问题答案:

代替

int[]c = new int[a+b];

您需要调用merge方法,并将结果分配给数组,例如:

int[]c = merge(a,b);

您的for循环也应该是:

int[]c = merge(a,b);
for(int i=0; i<c.length; i++)
    System.out.print(c[i]+" ");


 类似资料:
  • 问题内容: 我有两个像 我希望它们合并成单个数组 问题答案: 您需要该方法。

  • 问题内容: 我需要一个将所有元​​素组合在一起的新数组,即 做这个的最好方式是什么? 对不起,我忘了,这些ID永远不会匹配,但是从技术上讲,这些名称可能会出现,但不可能出现,它们都必须列在一个数组中。我查看了array_merge,但不确定这是否是最佳方法。另外,您将如何对此进行单元测试? 问题答案: 效率更高,但有两种选择:

  • 问题内容: 这是在采访中问我的,这是我提供的解决方案: 有没有更有效的方法可以做到这一点? 编辑:更正的长度方法。 问题答案: 稍有改进,但是在主循环之后,当到达另一个输入数组的末尾时,可以用来复制其中一个输入数组的结尾。但是,那不会改变你解决方案的性能特征。

  • 我试着在谷歌上搜索,但无法找到解决方案。合并两个< code >数组 投入- 预期产出- 谁能解释一下如何使用Java在Spark中实现这一点?

  • 问题内容: 我有两个像这样的数组: 我想结合这两个数组,使其不包含重复项,并保留其原始键。例如,输出应为: 我已经尝试过了,但是它正在更改其原始键: 有什么办法吗? 问题答案: 只需使用: 那应该解决。因为如果一个键出现多次(例如在您的示例中),则使用字符串键,因此一个键将覆盖具有相同名称的处理键。因为在您的情况下,它们两者都具有相同的值,但这无关紧要,并且还会删除重复项。 更新:我刚刚意识到,P

  • 我知道类似的问题也有人问过,我也研究过很多网站。我已经尝试使用一些答案,但我的代码仍然不能工作。 我正在经历以前的作业,以帮助建立我的Java知识。请原谅我的代码中的任何错误,我还在学习Java。 假设两个输入数组中的元素都按非递减顺序排序(例如[0,1,2,2]和[1,2,3,3,4,5])。返回的“合并”数组必须保留此属性(例如[0,1,1,2,2,2,3,3,4,5])。 输入和输出都允许重