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

从另一个对象列表中删除重复的列表对象值

宇文飞翮
2023-03-14

我有两个对象列表,它们在两个列表中都有重复名称。我需要从清单2中删除清单1中的所有重复值。

下面是一个场景,类有名称变量,用这个变量需要检查清单1中的重复值并需要删除。

Class ObjectClass{
          String name;
    }
    
  

//这是具有3个对象的第一个列表

    List<ObjectClass> list1= new ArrayList();
    ObjectClass objectClassDataL1= new ObjectClass();
    objectClassDataL1.setName("test");
    list1.add(objectClassDataL1);
    ObjectClass objectClassDataL2= new ObjectClass();
    objectClassDataL2.setName("test2");
    list1.add(objectClassDataL2);
    ObjectClass objectClassDataL3= new ObjectClass();
    objectClassDataL3.setName("test3");
    list1.add(objectClassDataL3);
    


    List<ObjectClass> list2= new ArrayList();
    
    ObjectClass objectClassData1= new ObjectClass();
    objectClassData1.setName("test");
    list2.add(objectClassData1);
    ObjectClass objectClassData2= new ObjectClass();
    objectClassData2.setName("test3");
    list2.add(objectClassData2);

清单1大小为1

请建议我在Java8与流。

共有1个答案

姬阳曜
2023-03-14

请建议我在Java8中使用流,

在这里,您不希望使用流,因为您希望修改现有的list1
您可以做的是在中添加list2元素的名称,并从list1中删除中不包含的元素:

Set<String> namesInList2 = list2.stream().map(ObjectClass::getName).collect(toSet());
list1.removeIf(o -> namesInList2.contains(o.getName());

它使事情在两个步骤,但它是清楚和有效的。

 类似资料:
  • 我有一类,其中包含非静态列表 下面是<code>问题 我正在为问题对象找到一种方法,使其从另一个类的 Array 列表中删除自身。我的方法是从类中调用 方法并传递。但后来我意识到我不能声明

  • 问题内容: 如果我需要从List中删除一个对象(假设字符串“ abc” linkedList或ArrayList),则可以删除哪一个?(我认为两者都是相同的) ,如果我使用Linkedlist和arraylist,那么时间和空间的复杂度是多少 (我相信两者的时间复杂度都为O(n)相同) 问题答案: 两者都具有相同的时间复杂度-O(n),但是恕我直言,该版本会更快,尤其是在大型列表中,因为当您从数组

  • 问题内容: 我试图从两个文件中读取并将它们存储在两个单独的arraylist中。文件由单词组成,这些单词要么单独一行,要么多个单词之间用逗号分隔。我用以下代码读取每个文件(不完整): 我现在需要读入两个文件,并从第一个文件中删除所有单词,该单词也存在于第二个文件中(文件中有一些重复的单词)。我已经尝试过for- loops和其他类似的东西,但是没有任何效果,因此将不胜感激! 额外的问题:我还需要找

  • 假设我有一个雇员对象列表,每个雇员类都有雇员姓名、雇员地址、工资等属性。现在我必须删除名称为“John”和Salary的雇员对象 列表empList=new ArrayList 根据我的理解,若要解雇具有上述情况的员工,我应使用以下代码: 因此,基本上上述代码将从列表中删除所需的Employee对象。如果我的理解正确,请告诉我。 除此之外,请澄清以下几点:1.当我们有数百万条记录时,我们将如何解决

  • 问题内容: 我有一个字典列表,其中特定值重复多次,我想删除重复的值。 我的清单: 删除重复值的功能: 当我调用此函数时,我得到了。 当我尝试遍历生成器时,我得到 有没有办法删除重复的值或遍历生成器 问题答案: 您可以通过字典理解轻松地删除重复键,因为字典不允许重复键,如下所示- 输出-

  • 我有以下列表,里面是另一个列表,然后是字符串列表 <代码>列表 示例 除了执行嵌套循环并最终替换列表之外,还有更好的方法吗?也许有溪流?