将两个数组字符串组合成一个列表

时间:2014-11-06 03:29:44

标签: java android arrays

我正在开发我自己的个人应用程序for minecraft。我会忘记我需要什么食谱,我只是搜索,并让它显示食谱。

现在,我有列表和搜索功能,它是按字母顺序排列的。现在我手动添加图像,以及我需要的一切。但是我认为如果我有这样的数组字符串会更有效率

String test1[] = { "diamond", "Iron", "Leather" };
String test2[] = { "Leggings", "Boots", "Helmet", "Chestplate" }

在我的列表视图中,我希望最终结果是这样的。

钻石绑腿
钻石靴
钻石头盔
钻石胸甲
铁护腿
...
...
金护腿
...
...
......

我需要做些什么才能实现这一目标?如果我这样做,我认为这将是无效的 test3.add(" Diamond Chestplate") test3.add("钻石靴") 等等.. .. ...

并最终获得大名单而不是我可以合并它们。

4 个答案:

答案 0 :(得分:2)

使用2个嵌套for循环来合并数组:

        String test1[] = {"Diamond", "Iron", "Leather"};
        String test2[] = {"Leggings", "Boots", "Helmet", "Chestplate"};

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

        for (String str1 : test1) {
            for (String str2 : test2)
                merged.add(str1 + " " + str2);
        }

        System.out.println(merged);

答案 1 :(得分:1)

如果我理解你的问题,你可以使用嵌套的For-Each Loop(s),如

String test1[] = { "Diamond", "Iron", "Leather" };
String test2[] = { "Leggings", "Boots", "Helmet", "Chestplate" };
List<String> al = new ArrayList<>();
for (String i : test1) {
    for (String j : test2) {
        StringBuilder sb = new StringBuilder(i);
        sb.append(' ').append(j);
        al.add(sb.toString());
    }
}
System.out.println(al);

答案 2 :(得分:1)

我很想知道如果,我可以在一个循环中实现它。 怎么做,最后我做到了。

private static String test1[] = {"Diamond", "Iron", "Leather"};
private static String test2[] = {"Leggings", "Boots", "Helmet", "Chestplate"};

public static void doInSingleLoop() {
        int maxLength = test1.length * test2.length;
        List<String> al = new ArrayList<String>();

        for (int i = 0; i < maxLength; i++) {
            String t1 = test1[i / test2.length];
            String t2 = test2[i % test2.length];

            StringBuilder sb = new StringBuilder(t1);
            sb.append(' ').append(t2);
            al.add(sb.toString());
        }

        System.out.println(al);
    }

答案 3 :(得分:-1)

检查以下示例。

public static void main(String[] args) { 
	String firstNameArr[] = { "diamond", "Iron", "Leather" };
    String lastNameArr[] = { "Leggings", "Boots", "Helmet"};
    List<String> fullNameList = new ArrayList<String>();
  
    for (String firstname : firstNameArr) {
    	for(String lastName : lastNameArr){
    		fullNameList.add((firstname+" "+lastName));
    	} 
    } 
}