当前位置: 首页 > 知识库问答 >
问题:

如果在lambda[closed]中找不到元素,请将其添加到列表中

公冶京
2023-03-14

如果条件为真,我正在筛选列表中的对象,如果找不到,它将创建一个新对象并将其添加到列表中。但是不起作用...有人能帮忙吗?

for (int i = 0; i < questao.getQuestaoOpcao().size(); i++) {                
    questao.getQuestaoOpcao().stream().flatMap(qoi -> qoi.getQuestaoOpcoesIdioma().stream())
            .filter(qoi -> qoi.getIdioma().equals(idiomaSelecionado)).findFirst()
        .orElse(new QuestaoOpcaoIdioma(questao.getQuestaoOpcao().get(i), nomesOpcoesList.get(i), idiomaSelecionado));
}

共有1个答案

夹谷英杰
2023-03-14

使用包含()

if (!lista.contains("b")) {
    lista.add("b");
}

考虑使用Set

 类似资料:
  • 问题内容: 我的研究和实验还没有得到答案,所以我希望能有所帮助。 我正在修改一个应用程序的安装文件,该应用程序在以前的版本中没有我想立即添加的列。我不想手动添加列,而是要在安装文件中并且仅在表中不存在新列的情况下才添加。 该表如下创建: 如果我在create table语句下面添加以下内容,那么我不确定如果该列已经存在(可能已填充)会发生什么情况: 因此,我尝试了在某处找到的以下内容。这似乎不起作

  • 问题内容: 我的问题是我想在遍历新元素的同时扩展一个包含新元素的列表,并且希望迭代器继续刚才添加的元素。 根据我的理解,会在列表中的当前元素之前而不是之后添加一个元素。是否可以通过其他方式实现这一目标? 问题答案: 除了以外,您无法在修改集合时使用进行迭代。 但是,如果使用方法,该方法返回,并对其进行迭代,则您还有更多要修改的选项。从javadoc中获取: 新元素插入到隐式光标之前:…后续调用将返

  • 问题内容: 这个清单对象在咬我屁股。 每当我尝试向其中添加元素时,它都会产生以下结果: 产生错误的行无关紧要,但无论如何这里都是这样: 我不应该静态访问它吗? 变量的实际声明: 有任何想法吗?在Google上找不到任何值得的东西。 问题答案: Arrays.asList()将给您返回不可修改的列表,这就是为什么添加失败的原因。尝试使用以下方法创建列表:

  • 嗨,我想要从html到javascript(id)数字; 如下所示,我得到了javascript的id号,这是可以的,但我不能像下面的代码那样使用它。 我有很多id号码像1、2、3、4、5、6和所有他们的值不同,我想要得到的值是变化和比;使用更改后的元素做另一件事...另外,我需要为所有的身份证号码编写相同的代码… 谢谢

  • 问题内容: 我想避免。我该怎么办? 问题答案: 您可以在迭代本身期间使用支持remove / add方法的。

  • 问题内容: Collector的Javadoc显示了如何将流的元素收集到新的List中。有没有一种将结果添加到现有ArrayList中的方法? 问题答案: 注意: osid的答案 显示了如何使用来添加到现有集合。这是对现有集合进行变异的有用且有效的技术。我的答案解决了为什么您不应该使用A 来突变现有集合的原因。 简短的答案是 no ,至少在一般情况下不是这样,您不应该使用a 来修改现有集合。 原因