在Java中将String []插入String []?

时间:2016-02-18 06:46:29

标签: java arrays string

如何在Java中的String[]中添加String[]?为了更清楚,我想要的输出是:

String[][] out = {{"A", "AA"},{"B", "BB"}};

我不知道输出数组的大小,它可以包含两个以上的元素。基本上,我想这样做(不要介意它是Python的混合语法):

String [] out;
String[] temp = {"A","AA"};
out.append(temp)

所以现在看起来应该像{{"A","AA"}}。然后我可以追加{"B", "BB"}创建上面的欲望输出?这就是我的想法,但我不确定它是否可以完成。我对Python更有经验,可以在Python中完成,但我想用Java做到这一点。有任何想法吗?

4 个答案:

答案 0 :(得分:3)

与上述评论一样,您可以使用List将所有数组值存储在其中。

当你输入时:

List<String[]> list = new ArrayList<>();
String[] array = {"A", "B"};
list.add(array);
...

当你离开的时候:

String[] array = list.get(0 /*i*/);

答案 1 :(得分:2)

尝试使用List来实现此目的,因为您需要在列表上执行更多操作而不是数组。

List<List<String>> out = new ArrayList<>();
List<String> temp = new ArrayList<String>();
temp.add("A");
temp.add("AA");
out.add(temp);

阅读Javadocs以获取更多信息。

答案 2 :(得分:2)

您可以使用动态增长的List或ArrayList。

List<List<String>> addresses = new ArrayList<List<String>>();

ArrayList<String> singleAddress = new ArrayList<String>();
singleAddress.add("17 Fake Street");
singleAddress.add("Phoney town");
singleAddress.add("Makebelieveland");

addresses.add(singleAddress);

ArrayList类扩展了AbstractList并实现了List接口。 ArrayList支持可以根据需要增长的动态数组。

标准Java数组具有固定长度。创建数组后,它们无法增长或缩小,这意味着您必须事先知道数组将包含多少元素。

使用初始大小创建数组列表。超过此尺寸时,将自动放大该集合。删除对象后,阵列可能会缩小。

对于List和ArrayList link

之间的差异

Type List vs type ArrayList in Java

如果您确实想要将动态数组字符串添加到另一个动态数组中,也可以尝试这种方式。

Form

答案 3 :(得分:2)

因为在Java中,数组是固定长度的数据结构,因此您应该尝试支持动态插入和删除元素的java List。使用java.util.ArrayList的示例如下:

java.util.List<String[]> out = new java.util.ArrayList<String[]>();
String[] temp = {"A","AA"};
out.add(temp);//insertion

使用索引(从0开始),我们可以获取out.get(0);这样的元素,并且可以删除out.remove(0);等元素