有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java创建由列表中缺少的项组成的列表

我有两张单子

第一个是对象ManagerStoreId,由两个属性组成:Manager和StoreId,例如:

List<ManagerStoreId> managerStoreIdList;

public ManagerStoreId {
   private String manager;
   private String productId;
}

第二个是经理:

List<String> Manager;

我想创建第三个列表:

List<String> managerNotFoundInManagerStoreIdList

这是ManagerStoreId中不存在的管理器列表

最好的办法是什么

我考虑过在managerStoreIdList中循环,然后使用getManager方法检查字符串是否正确。但是如果它没有列出,我怎么知道要把它添加回列表中呢


共 (1) 个答案

  1. # 1 楼答案

    有许多方法可以计算managerNotFoundInManagerStoreIdList。这是最简单的一个:

    创建一组manager并进行查找:

    Set<String> managers = managerStoreIdList.stream().map(ManagerStoreId::getManager)
        .collect(Collectors.toSet());
    
    List<String> managerNotFoundInManagerStoreIdList = Manager.stream()
        .filter(m -> !managers.contains(m))
        .collect(Collectors.toList());