gpt4 book ai didi

java - 根据某些成员变量检查对象是否存在于对象列表中

转载 作者:行者123 更新时间:2023-12-01 11:24:43 24 4
gpt4 key购买 nike

假设我已将列表定义为

private BlockingQueue<MyDelayed> DelayedIds = new DelayQueue<>();

MyDelayed就像:私有(private)类 MyDelayed 实现 Delayed {

    private String myId;
private Long creationTime;

MyDelayed (String myId) {
this.myId= myId;
this.creationTime = System.currentTimeMillis();
}

String getMyId() {
return this.myId;
}

@Override
public long getDelay(TimeUnit unit) {
//TODO
}

@Override
public int compareTo(Delayed o) {
//TODO
}
}

现在假设我想在 DelayedIds 列表中添加一个 MyDelayed 类的对象。我可以通过使用 add 函数来做到这一点。

但是,如果我只想在列表中不包含类 MyDelayed 的对象(该对象具有与我尝试插入的相同 myId 属性)的情况下在列表中添加对象。

显然 DelayedIds .contains(new MyDelayed(myId)) 不起作用。

有什么简单的方法可以检查这个东西吗?我错过了什么吗?

最佳答案

您可以编写类似这样的内容并比较列表中的每个元素以查看它是否包含您的 id。如果在任何时候找到匹配的,则返回 true,如果循环结束时没有找到匹配的,则返回 false。

public boolean contains(String id){
for (MyDelayed md : DelayedIds){
if(md.getMyId().equals(id)){
return true;
}
}
return false;
}

现在在添加之前进行检查,您会执行以下操作:

if(!contains(myNewObject.getMyId())){
DelayedIds.add(myNewObject)
}

另外,我建议您将DelayedIds重命名为delayedIds,以便遵循coding standards (请参阅变量)。

关于java - 根据某些成员变量检查对象是否存在于对象列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30922527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com