使用特定元素的索引从另一个列表中获取项目(lambda表示法)

时间:2018-12-06 17:33:12

标签: java lambda

我在网上搜索,没有找到任何答案。我可以使用for循环来做到这一点,但是出于可读性考虑,我使用了lambda表示法进行了尝试,但是我不知道该怎么做。

我有一个字符串列表和一个带有字符串列表的列表。 当我给出一个字符串名称和一个字符串值时,它应该在 vars 中搜索该字符串,并且当它具有匹配项(在索引2中说)时,它应该通过概率并在此列表中的每个列表上检查索引2上的值是否等于给定的字符串值。如果是,则应删除索引,否则应删除整个列表(概率的一个元素)。我可以使用如下for循环来做到这一点:

private ArrayList<String> vars = new ArrayList();
private ArrayList<ArrayList<String>> probabilities = new ArrayList();
private String v_name = "coughing";
private String v_value = "positive";

public void someFunction(){     
    for(int i=0; i<vars.size(); i++){
        if(vars.get(i).equals(v_name)){
            for(int j=probabilities.size()-1; j>=0; j--){
                if(probabilities.get(j).get(i).equals(v_value)){
                    probabilities.get(j).remove(i);
                } else {
                    probabilities.remove(j);
                }
            }
        }
    }
}

因此,简而言之,我想知道是否可以使用Lambda表示法进行此操作,因为找不到在列表中搜索元素并在其他列表中查找该元素所在索引的示例找到了。在您要遍历的列表中与删除配对,我无法使其正常工作。

0 个答案:

没有答案