java检查两个Arraylist条目是否具有相同的字段并求和
我知道这个标题可能有点让人困惑,但我现在就详细介绍一下。。。 我有一个叫做Dispatch的对象,这是它的代码
public class Dispatch {
private string DispatchName;
private double Weight;
...
我的用户将选择多个调度并输入它们的权重,单击按钮后,列表将被发送到服务器,但同时,我想将同一列表保存到另一个列表,我们称之为copyList
但是在添加到copyList之前,我想检查copyList中是否已经有一个项目与我要添加的项目具有完全相同的名称(^{
注意:我不能使用Java 8,因为我仅限于Android API 19。我知道stream
是可能的,但我需要其他解决方案
我试过使用doubleforeach
,但就是找不到解决方案
# 1 楼答案
正如评论中所建议的,试着实现
Dispatch.equals
如下:另外,最好将代码更改为依赖
Set
(如HashSet<DispatchName>
)并使用Set.contains()
如:# 2 楼答案
我认为实现这一点的最佳方法是建立一套数据结构,它将允许您在无需解决问题的情况下管理重复值
让我们看看列表和集合的两种方法:
带列表:
主要示例
与Set:
这是最好的方法,因为实现hashcode等于保证在数据结构中看到唯一的对象
主要示例