如何在给定的对象列表中检查特定对象是否存在,使用Java。

huangapple go评论64阅读模式
英文:

How to check if aspecified object exists in a given list of object or not with java

问题

我正在使用Java 11,想要检查一个对象是否存在于对象列表中,我使用了以下代码:

   List<MenuDTO> menuDTO = new ArrayList<>();
   MenuDTO menu = menuData.findByIdMenu(menuItemDTO.getMenuid());

   if(menuDTO.contains(menu)) {
       menuItemResult.add(menuItemDTO);
       menu.setMenuitems(menuItemResult);
   }

但是它始终返回false,即使列表中包含该元素。

英文:

I am using java 11 and i want to check if a object exist in list of object i use

   List&lt;MenuDTO&gt; menuDTO=new ArrayList&lt;&gt;();
   MenuDTO menu=menuData.findByIdMenu(menuItemDTO.getMenuid());

   if(menuDTO.contains(menu)){
                    menuItemResult.add(menuItemDTO);
                    menu.setMenuitems(menuItemResult);
   }

But it return always false even the list contain the element

答案1

得分: 2

我不知道这是否是您正在寻找的内容,但或许这能有所帮助:

List<MenuDTO> menuDTO = new ArrayList<>();
MenuDTO menu = menuData.findByIdMenu(menuItemDTO.getMenuid());
boolean doesExists = menuDTO.stream().anyMatch(menuElement -> menuElement.getMenuId() == menu.getMenuId());
if (doesExists) {
    menuItemResult.add(menuItemDTO);
    menu.setMenuitems(menuItemResult);
}
英文:

I don't know if this is what you are looking for, but maybe this can help:

List&lt;MenuDTO&gt; menuDTO=new ArrayList&lt;&gt;();
MenuDTO menu=menuData.findByIdMenu(menuItemDTO.getMenuid());
boolean doesExists = menuDTO.stream().anyMatch(menuElement -&gt; menuElement.getMenuId() == menu.getMenuId());
if(doesExists){
    menuItemResult.add(menuItemDTO);
    menu.setMenuitems(menuItemResult);
}

答案2

得分: 2

Java集合使用contains方法使用对象的equals方法来确定指定的对象是否在集合中,因此您需要为集合中使用的对象实现这个方法。
以下是关于如何在对象上实现equalshashCode方法的一些指南:

Java equals()和hashCode()契约

英文:

Java collections contains use object equals methods to determine if specified object is in the collection, so you need to implement it for objects that you use in collections.
Here is some guide on how to implement equals and hashCode methods on objects:

Java equals() and hashCode() Contracts

huangapple
  • 本文由 发表于 2020年9月7日 23:16:54
  • 转载请务必保留本文链接:https://go.coder-hub.com/63780323.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定