一个ArrayList
对象有一个名为 的方法contains
。使用此方法,您可以测试对象是否是集合的一部分。阅读文档。
工作示例
ArrayList<People> people = new ArrayList<People>();
// Define the collection.
People p = new People("Dave");
// Create a new test object.
people.add(p);
// Add the object to the collection.
if(people.contains(p))
{
// Will print out, because P exists within the people collection.
System.out.println("Object exists in the collection");
}
改进我的原始答案
正如评论中所建议的,鉴于这是一个游戏的比较算法,您可能需要对其进行更多优化。考虑到这一点,我想到了使用HashMap。
HashMap 示例
HashMap<String, Person> friends = new HashMap<String, Person>();
// Create the HashMap object.
Person p = new Person("Dave");
// Create a test object, with the name "Dave".
String key = p.getName();
// Get a key. In this case, the object's name.
friends.put(key, p);
// Add the person to the collection.
使用此代码,您现在在 HashMap 集合中有一个人。现在,当有人走进你的“攻击光环”时,你可以简单地得到那个人的名字,然后检查你的 HashMap 中是否存在一个键。这快速(O(1) 复杂度)且准确,最重要的是,您正在比较自定义值;不是同一个对象。因此,用户可以回收他们的对象并仍然存储在您的收藏中。
希望这个编辑会有所帮助:)