多个阵列的联合

时间:2016-10-16 09:32:16

标签: java arrays multidimensional-array union

我正在使用此代码来创建一定数量的数组并用特定数字填充它们:

parserGenerator = {
    antlrParam = "-Xconversiontimeout"
    antlrParam = "30000"
    options = {
        backtrack = true
        backtrackLexer = false
    }
}
fragment = org.eclipse.xtext.generator.adapter.FragmentAdapter {
    fragment = org.eclipse.xtext.generator.parser.antlr.ex.ExternalAntlrLexerFragment {
    // A grammar file with .g will be expected in this package (should be stored in src folder)
        lexerGrammar = "com.group.xxx.xtext.customlexer.CustomEditorLexer"
        runtime = true
        antlrParam = "-lib"// This is the folder where the lexer will be created
        antlrParam = "${rootPath}/${basename}/src-gen/com/group/xxx/xtext/customlexer"
    }
}

我如何使用创建的数组并进行联合,例如。联合B联合C,因为总是有不同数量的数组。

提前致谢

1 个答案:

答案 0 :(得分:0)

  1. 更改您的方法以返回创建的数组。
  2. 创建第二个方法,将2维数组作为参数并返回1维数组。这将是我将在稍后展示的工会
  3. 使用Arrays.toString()通过System.out.println()
  4. 显示数组内容 新方法中的

    为1维目标数组创建变量。 然后遍历参数的第一个维度:

    for(int[] subArray : parameterArray)
    

    在该循环中创建一个新的临时1维数组变量,其大小为目标变量的当前大小加上当前subArray的大小。

    int[] tempArray = Arrays.copyOf(targetArray,targetArray.length+subArray.length]);
    

    遍历subArray并将当前值复制到临时数组中的适当位置。

    完成内部循环后,将tempArray存储为targetArray

    targetArray = tempArray;