我有两个数组:
String[] dishes = {"Dish1", "Dish2", "Dish3", "Dish4", "Dish5", "Dish6"};
String[] dishCategory = {"daily Dish", "daily Dish", "daily Dish", "side Dish", "side Dish", "Dish special"};
因此,我想要两个阵列:一个有日常菜肴和它的菜特别,另一个只附带配菜。
这就是为什么我试图获得dishCategory的"side“索引来删除我的菜阵列中的字符串。但我甚至无法计算出一个函数来得到所有的“配菜”索引。
有人知道一个好的解决办法吗?
发布于 2016-05-21 08:44:17
这是创建两个新数组的最简单方法。
List<String> dailyAndSpecialList = new ArrayList<>();
List<String> sideList = new ArrayList<>();
for (int i = 0; i < dishCategory.length; i++) {
if (dishCategory[i].equals("side Dish")) {
sideList.add(dishes[i]);
} else {
dailyAndSpecialList.add(dishes[i]);
}
}
String[] sideArray = sideList.toArray(new String[sideList.size()]);
String[] dailyAndSpecialArray = dailyAndSpecialList.toArray(new String[dailyAndSpecialList.size()]);
发布于 2016-05-21 08:34:09
您可以遍历dishCategory数组,并将数组元素与您的“配菜”进行比较,并将匹配索引存储在其他Arraylist中,然后使用这些索引,您可以删除或执行您想做的任何操作。
样本代码:-
ArrayList<Integer> sideDishIdx = new ArrayList<>();
int i=0;
for(String s : dishCategory){
if(s.equalsIgnoreCase("side Dish"))
sideDishIdx.add(i);
i++;
}
for(Integer idx : sideDishIdx){
System.out.println("idx "+idx);
}
https://stackoverflow.com/questions/37360532
复制相似问题