Java Arraylist - 将一个复制到另一个没有重复

Har*_*rry 4 java arraylist

我有一个ArrayList:

Arraylist<Person> list1 = new ArrayList<Person>();
list1.add(new Person("John", 0));
list1.add(new Person("Kane", 0));
list1.add(new Person("Jen", 0));
Run Code Online (Sandbox Code Playgroud)

而另一个ArrayList:

Arraylist<Person> list2 = new ArrayList<Person>();
list2.add(new Person("John", 2));
list2.add(new Person("Kane", 4));
Run Code Online (Sandbox Code Playgroud)

我希望结果ArrayList包含:

("John", 2) ("Kane", 4) ("Jen", 0)
Run Code Online (Sandbox Code Playgroud)

我想合并这两个列表并删除值为0的列表.如果我这样做 list2.addAll(list1),那么list2有两个条目为"John",值为2和0.我想删除值为0的条目名单.

San*_*har 8

嗯,听起来,在你的程序逻辑中,创建一个

new Person("John", 2)
Run Code Online (Sandbox Code Playgroud)

不是你想要的 - 是不是真的有一个叫做约翰的"新人"?或者是具有新分数的约翰?也许你需要一个功能来更新个人喜欢的分数

Person.setValue(int)
Run Code Online (Sandbox Code Playgroud)

很抱歉,如果这实际上没有回答您的问题,但检查您是否拥有正确的数据结构非常重要.