我正在尝试从具有嵌套列表的列表中删除元素。 下面是我的课

   class Pets
   private Long id;
   private String categoryName;
  private List<PetCategory> petCategory;
 //setter & getter

   public class PetCategory {
   private String PetCategoryName;
   private String petSymbol;
   private List<PetList> petList;
 //setter & getter
   }

  public class PetList {

  private String petName;
  private String petWithPicture;
  private List<PetAnimalType> petanimaltype;
 //setter & getter
}

public class PetAnimalType {
private String PetAnimalTypeName;
private String PetAnimalId;
private List<String> petbreeds;

我试图通过传递PetAnimalTypeName从列表中删除一个元素。 我得到这个PetAnimalTypeName作为列表

 List<String> checkPetAnimalTypeName=new ArrayList<String>();
 checkPetAnimalTypeName.add("test1");
 checkPetAnimalTypeName.add("test2");

    for(String s1:checkPetAnimalTypeName) {

             m.getpetCategory().stream().filter(x ->
             x.getPetCategoryName().equalsIgnoreCase("somename")) .flatMap(y ->
             y.getPetList().stream()).filter(s ->
              s.getPetName().equalsIgnoreCase("somename")).

             forEach(v->v.getPetanimaltype().removeIf(x1->x1.getPetAnimalTypeName()==s1));

              }

它不是从列表中删除元素。 您能否帮助我如何删除元素,并更好地理解这种逻辑

  ask by Subham translate from so

本文未有回复,本站智能推荐:

12回复

Java8lambda从列表中获取和删除元素

鉴于元素的列表,我想用一个给定的属性来获取元素,并从列表中删除。 我发现的最佳解决方案是: 是否可以在 lambda 表达式中组合 get 和 remove?
1回复

有条件地从Java8中的列表中删除元素[重复]

这个问题已经在这里有了答案: 根据条件从另一个列表中删除一个列表中的某些元素 2个答案 据我所知,Java 8引入了一种可用于Collection类型的新方法:removeif()。 它接受一个谓词,该谓词定义了应删除元素的条件。 它返回一个布尔值,其中“真”响应表示已删除
2回复

Java8lambda从列表中删除元素并更新布尔标志值

当我从List<String>删除某个对象时,我必须设置一个标志nameRemoved=true 这是我在这里使用的传统方法。 我可以使用下面的方法从列表中删除元素,但如何使用 lambda 语法将标志值设置为nameRemoved=true ?
4回复

Java8Stream在列表中查找元素

我有以下课程: 我有一个项目列表。 我想迭代列表并找到具有特定id的实例。 我正试图通过溪流来做。 这是迭代列表并获得我需要的元素的最佳方法吗? 另外,我在id的过滤行上得到一个错误,它表示lambda表达式中使用的变量必须是final或者有效的final。 也许我可以在whil
3回复

根据条件从另一个列表中删除一个列表中的某些元素

我对 Java8 相当陌生。 我需要根据某些标准(从另一个列表中)减去/删除一个列表中的 POJO 并将其显示在 UI 上。 迭代一个列表并搜索条件删除对象将原始列表发送到UI ..主要代码.. 有没有更好的方法来处理 for 循环? 任何帮助表示赞赏。
4回复

如何使用基于另一个列表的lambda从列表中删除元素

我有文件路径列表:。 54以上是指文件ID 然后,我获得了一Set String ID,我的应用程序可以处理如下: 如何使用Java 8 lambdas filter掉filePaths中不包含acceptedIds集合集中包含的任何可接受ID的所有元素。 换句话说,我想在保留f
2回复

Java8-CompleteableFuture的thenCompose方法中的处理元素列表

请在下面找到我的实际代码的虚构示例。 这个例子已经过分简化以解释我想要实现的目标。 } 我的getIndividualCharacters方法返回结果列表(异步)。 我使用单个结果并进一步处理它以返回另一个结果(异步)。 我想要的最终结果是List<Completeable<final
2回复

在Java8可选管道中展平元素列表

我有一个id值,可以为null 。 然后我需要用这个id调用一些服务来获取交易列表并从列表中获取第一个非null交易。 目前我有这个工作代码 是否可以更优雅地实现flatMap调用的行? 我不想在一个管道步骤中加入太多逻辑。 最初我希望以这种方式实现逻辑 但Optional.