Java .contains 方法

用户10761376

我创建了一个充满“状态”的数组列表,但在添加状态后在列表中找不到状态

public class State {
    int a;
    int b;
    int c;

    public State(int a,int b,int c) {
        super();
        this.a = a;
        this.b = b;
        this.c = c;
    }
}

然后在主类

public class Main {
    static ArrayList<State> nodes = new ArrayList<State>();

    public static void main(String[] args) {
      State randomState = new State(12,0,0);
      nodes.add(randomState);
      System.out.println(nodes.contains(new State(12,0,0)));
    }      
}

这将返回 false 但如果我这样做

System.out.println(nodes.contains(randomState));

会返回true。任何帮助表示赞赏

戴维xxx

List.contains()依赖于equals()对象方法:

更正式地,当且仅当此列表包含至少一个元素 e 时才返回 truesuch that (o==null ? e==null : o.equals(e))

覆盖它并hashCode()State类中,例如:

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (!(o instanceof State)) return false;
    State state = (State) o;
    return a == state.a &&
            b == state.b &&
            c == state.c;
}

@Override
public int hashCode() {
    return Objects.hash(a, b, c);
}

或者不要使用此方法并自己执行搜索。
例如 :

public boolean isAnyMatch(List<State> states, State other){   
  return states.stream()
               .anyMatch(s -> s.getA() == other.getA() && 
                         s.getB() == other.getB()  && 
                         s.getC() == other.getC() )
}


System.out.println(isAnyMatch(nodes, new State(12,0,0));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java ArrayList contains 方法

来自分类Dev

如何在Java中使用boolean contains(Charsequence s)方法?

来自分类Dev

Java-HashSet contains()方法不起作用?

来自分类Dev

如何在Java中使用boolean contains(Charsequence s)方法?

来自分类Dev

在JAVA中的字符串上使用Contains方法

来自分类Dev

LINQ的.Contains()的替代方法

来自分类Dev

番石榴的ImmutableSet成员资格方法是否模仿java.util.HashSet#contains?

来自分类Dev

尝试在空对象引用上调用虚拟方法'boolean java.lang.String.contains(java.lang.CharSequence)'

来自分类Dev

!contains()方法?那可能吗?

来自分类Dev

抽象集合中的contains()方法

来自分类Dev

!contains()方法?那可能吗?

来自分类Dev

为什么contains()方法在Java中的非空字符串中找到空字符串

来自分类Dev

contains()方法无法按预期工作

来自分类Dev

如何调用神奇的__contains__方法?

来自分类Dev

列表中的contains()方法未按预期工作

来自分类Dev

Scala映射isDefinedAt()vs contains()方法

来自分类Dev

如何使用contains方法过滤dstore?

来自分类Dev

swift .contains(element:_)方法如何工作?

来自分类Dev

对自定义对象使用Contains方法

来自分类Dev

contains()方法无法按预期工作

来自分类Dev

与数组一起使用Contains方法

来自分类Dev

Rectangle.contains() 方法从不返回 true

来自分类Dev

使用contains()在Java ArrayList中检查零

来自分类Dev

对象列表中的Android java .contains()int

来自分类Dev

.contains()无法在Java中使用标准输入?

来自分类Dev

在Java中使用PriorityQueue.contains()的问题

来自分类Dev

包含递归链表Java的contains(int aData)

来自分类Dev

对象列表中的Android java .contains()int

来自分类Dev

Selenium / getElements通过XPATH和CONTAINS(JAVA)

Related 相关文章

  1. 1

    Java ArrayList contains 方法

  2. 2

    如何在Java中使用boolean contains(Charsequence s)方法?

  3. 3

    Java-HashSet contains()方法不起作用?

  4. 4

    如何在Java中使用boolean contains(Charsequence s)方法?

  5. 5

    在JAVA中的字符串上使用Contains方法

  6. 6

    LINQ的.Contains()的替代方法

  7. 7

    番石榴的ImmutableSet成员资格方法是否模仿java.util.HashSet#contains?

  8. 8

    尝试在空对象引用上调用虚拟方法'boolean java.lang.String.contains(java.lang.CharSequence)'

  9. 9

    !contains()方法?那可能吗?

  10. 10

    抽象集合中的contains()方法

  11. 11

    !contains()方法?那可能吗?

  12. 12

    为什么contains()方法在Java中的非空字符串中找到空字符串

  13. 13

    contains()方法无法按预期工作

  14. 14

    如何调用神奇的__contains__方法?

  15. 15

    列表中的contains()方法未按预期工作

  16. 16

    Scala映射isDefinedAt()vs contains()方法

  17. 17

    如何使用contains方法过滤dstore?

  18. 18

    swift .contains(element:_)方法如何工作?

  19. 19

    对自定义对象使用Contains方法

  20. 20

    contains()方法无法按预期工作

  21. 21

    与数组一起使用Contains方法

  22. 22

    Rectangle.contains() 方法从不返回 true

  23. 23

    使用contains()在Java ArrayList中检查零

  24. 24

    对象列表中的Android java .contains()int

  25. 25

    .contains()无法在Java中使用标准输入?

  26. 26

    在Java中使用PriorityQueue.contains()的问题

  27. 27

    包含递归链表Java的contains(int aData)

  28. 28

    对象列表中的Android java .contains()int

  29. 29

    Selenium / getElements通过XPATH和CONTAINS(JAVA)

热门标签

归档