首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取数组中字符串的索引,在其他数组中删除这些索引处的字符串

获取数组中字符串的索引,在其他数组中删除这些索引处的字符串
EN

Stack Overflow用户
提问于 2016-05-21 08:19:06
回答 2查看 56关注 0票数 1

我有两个数组:

代码语言:javascript
运行
复制
String[] dishes = {"Dish1", "Dish2", "Dish3", "Dish4", "Dish5", "Dish6"};
String[] dishCategory = {"daily Dish", "daily Dish", "daily Dish", "side Dish", "side Dish", "Dish special"};

因此,我想要两个阵列:一个有日常菜肴和它的菜特别,另一个只附带配菜。

这就是为什么我试图获得dishCategory的"side“索引来删除我的菜阵列中的字符串。但我甚至无法计算出一个函数来得到所有的“配菜”索引。

有人知道一个好的解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-21 08:44:17

这是创建两个新数组的最简单方法。

代码语言:javascript
运行
复制
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()]);
票数 2
EN

Stack Overflow用户

发布于 2016-05-21 08:34:09

您可以遍历dishCategory数组,并将数组元素与您的“配菜”进行比较,并将匹配索引存储在其他Arraylist中,然后使用这些索引,您可以删除或执行您想做的任何操作。

样本代码:-

代码语言:javascript
运行
复制
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);
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37360532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档