我正在开发我自己的个人应用程序for minecraft。我会忘记我需要什么食谱,我只是搜索,并让它显示食谱。
现在,我有列表和搜索功能,它是按字母顺序排列的。现在我手动添加图像,以及我需要的一切。但是我认为如果我有这样的数组字符串会更有效率
String test1[] = { "diamond", "Iron", "Leather" };
String test2[] = { "Leggings", "Boots", "Helmet", "Chestplate" }
在我的列表视图中,我希望最终结果是这样的。
钻石绑腿
钻石靴
钻石头盔
钻石胸甲
铁护腿
...
...
金护腿
...
...
......
我需要做些什么才能实现这一目标?如果我这样做,我认为这将是无效的 test3.add(" Diamond Chestplate") test3.add("钻石靴") 等等.. .. ...
并最终获得大名单而不是我可以合并它们。
答案 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));
}
}
}