Java 如何将元素附加到字符串[]中?

Java 如何将元素附加到字符串[]中?,java,Java,我有以下资料: String[][] content = { {"c","d", "2"}, {"e","f", "3"}, {"g","h", "4"}, {"i","j", "5"}} ; 如何将一些1x3元素添加到现有元素中 public static void main(String[] args) { String[][] content = {

我有以下资料:

   String[][] content = {
            {"c","d", "2"},
            {"e","f", "3"},
            {"g","h", "4"},
            {"i","j", "5"}} ;
如何将一些1x3元素添加到现有元素中

    public static void main(String[] args) {
        String[][] content = {
                {"c","d", "2"},
                {"e","f", "3"},
                {"g","h", "4"},
                {"i","j", "5"}};

        String[][] newContent = {{"p","a", "3"}};

        System.out.println(Arrays.deepToString(append(content, newContent)));
    }

    public static String[][] append(String[][] a, String[][] b) {
        String[][] result = new String[a.length + b.length][];
        System.arraycopy(a, 0, result, 0, a.length);
        System.arraycopy(b, 0, result, a.length, b.length);
        return result;
    }
输出

[[c, d, 2], [e, f, 3], [g, h, 4], [i, j, 5], [p, a, 3]]
String[][] content = {
                {"c","d", "2"},
                {"S","2"},
                {"i","j", "5"},{"p","1"}};

String[][] newContent = {{"p","a", "3"},{"k","3"}};
[[c, d, 2], [S, 2], [i, j, 5], [p, 1], [p, a, 3], [k, 3]]
另一个输入

[[c, d, 2], [e, f, 3], [g, h, 4], [i, j, 5], [p, a, 3]]
String[][] content = {
                {"c","d", "2"},
                {"S","2"},
                {"i","j", "5"},{"p","1"}};

String[][] newContent = {{"p","a", "3"},{"k","3"}};
[[c, d, 2], [S, 2], [i, j, 5], [p, 1], [p, a, 3], [k, 3]]
输出

[[c, d, 2], [e, f, 3], [g, h, 4], [i, j, 5], [p, a, 3]]
String[][] content = {
                {"c","d", "2"},
                {"S","2"},
                {"i","j", "5"},{"p","1"}};

String[][] newContent = {{"p","a", "3"},{"k","3"}};
[[c, d, 2], [S, 2], [i, j, 5], [p, 1], [p, a, 3], [k, 3]]

这很麻烦,需要创建整个阵列的副本,因此不需要定期执行以下操作:

String[][] content = {
        {"c","d", "2"},
        {"e","f", "3"},
        {"g","h", "4"},
        {"i","j", "5"}};
content = Arrays.copyOf(content, content.length + 1);
content[content.length - 1] = new String[] { "k", "l", "6" };
但是,您可以使用列表:

List<String[]> list = new ArrayList<>();
Collections.addAll(list, content);
list.add(new String[] { "k", "l", "6" });

二维阵列是固定长度的。不能将元素附加到它们。最好的选择(使用2D数组)是创建一个更大的新数组,该数组可以保存当前值和新值。然后把所有的值加在一起,亚什·卡普尔是对的。如果这个方法太麻烦,你可能最好切换到
ArrayList
@uksz请查看我的答案如果你没有非常严格的内存使用和性能准则,你最好避免使用数组,而是使用某种集合。您好,先生,请核对我的回答,我的回答很好,很甜蜜:)@ParthSolanki-nice;您不需要使用导入和类之类的东西;)好的,先生,谢谢你的建议,我会更新我的答案。@uksz如果我的答案有帮助,请投票并接受我的答案,提前谢谢!!