这个方法会调用所比较的对象的equals方法,因此我们可以重写equals方法。
import java.util.ArrayList;
import java.util.List;
public class Demo {
public static void main(String[] args) {
List<A> as = new ArrayList<A>();
as.add(new A(1, "test1"));
as.add(new A(2, "test2"));
as.add(new A(3, "test3"));
as.add(new A(4, "test4"));
System.out.println(as.contains(new A(5, "test1")));
System.out.println("============================");
System.out.println(as.contains(new A(5, "test5")));
}
}
class A {
private Integer id;
private String name;
public A(Integer id, String name) {
this.id = id;
this.name = name;
}
@Override
public boolean equals(Object obj) {
if (!(obj instanceof A)) {
return false;
}
A a = (A) obj;
System.out.println("参数实例id=" + a.id + ";参数实例名称=" + a.name);
System.out.println("实例id=" + id + ";实例名称=" + name);
if (name.equals(a.name)) {
return true;
} else {
return false;
}
}
}
输出
参数实例id=1;参数实例名称=test1
实例id=5;实例名称=test1
true
============================
参数实例id=1;参数实例名称=test1
实例id=5;实例名称=test5
参数实例id=2;参数实例名称=test2
实例id=5;实例名称=test5
参数实例id=3;参数实例名称=test3
实例id=5;实例名称=test5
参数实例id=4;参数实例名称=test4
实例id=5;实例名称=test5
false
分享到:
相关推荐
- **抽象方法**:`contains(Object o)`, `iterator()`, `add(E e)`, `remove(Object o)`等。 **2. List and Queue Implementations** - **ArrayList**: 动态数组实现的列表。 - **特点**:线程不安全,效率较高...
Java中的`java.util.List`接口是集合框架的重要组成部分,它扩展了`Collection`接口,并引入了一些特定于列表的特性,如有序性、可重复性以及对元素的索引访问。这篇博客将深入探讨`List`接口及其常用实现类,如`...
Java语言的Util类详细介绍 Java语言的Util类是Java开发中非常重要的一部分,它提供了一系列的类来实现基本的数据结构,如线性表、链表等。这些类均在java.util包中。 Collection接口是Java中最基本的集合接口,一...
private ArrayList<Object> resourcesList = new ArrayList<Object>(5); public DatabaseUtil() { } /** 关闭数据库连接并释放所有数据库资源 */ public void close() { closeAllResources(); close(get...
在Java编程语言中,ArrayList是`java.util.ArrayList`类的一个实例,它是一个基于数组实现的动态大小列表。ArrayList提供了一种高效的方式来存储和操作对象序列。在这个实例中,我们看到如何创建、添加元素、检查...
在Java编程语言中,ArrayList是`java.util.ArrayList`类的一个实例,它是`List`接口的实现,基于可变大小的数组。ArrayList提供了一种灵活的方式来存储和操作一系列对象,同时具备动态增长和缩小容量的能力。下面将...
首先,我们需要导入`java.util.List`和`java.util.ArrayList`(或`java.util.LinkedList`)这两个包。`ArrayList`和`LinkedList`都是`List`接口的实现类,它们各自有不同的特性和性能特点。`ArrayList`是基于动态...
import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.EnumSet; import java.util.HashSet; import java.util.List; import java....
`public boolean contains(Object o)`:判断集合中是否包含某个元素。 5. `public boolean isEmpty()`:判断集合是否为空。 6. `public boolean remove(Object o)`:从集合中移除某个元素。 7. `public int size...
- **元素查询**:如表11.2所示,包括`contains(Object o)`用于判断是否包含指定元素,`isEmpty()`用于判断集合是否为空等。 - **组操作**:作用于元素组或整个集合,如表11.3所示,包括`addAll(Collection...
- `contains(Object o)`: 检查ArrayList是否包含指定元素。 3. **ArrayList的特性**: - **线程不安全**: ArrayList不是线程安全的,这意味着在多线程环境中,对ArrayList的操作可能导致数据不一致。如果需要线程...
**Answer**: An abstract class cannot be instantiated directly because it contains one or more abstract methods, and Java does not provide a constructor for abstract classes. When you attempt to create...
ArrayList是java.util.ArrayList类的实例,它是Java集合框架中的List接口的一个实现。ArrayList内部使用一个Object数组来存储元素,允许在运行时动态调整大小。与数组相比,ArrayList提供了更多的方法,如add、...
- `contains(Object o)`:如果此集合包含指定的元素,则返回 true。 - **Iterable接口**:允许使用`for-each`循环遍历集合中的元素,所有标准库集合都实现了这一接口。 ##### 1.2 集合实现 - **链表(List)**:...
ArrayList类是Java.util包中的一个成员,继承自AbstractList并实现了List接口,因此它支持随机访问,但插入和删除操作可能比基于链表的List实现(如LinkedList)效率低。 1. **ArrayList的概念** ArrayList是一个...
在提供的`main.java`文件中,很可能包含了以上操作ArrayList的示例代码。`README.txt`可能是一个简单的说明文档,解释了代码的功能和用法。学习和理解这些基本操作是掌握ArrayList和Java集合框架的关键,这对于任何...
import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class CollectionDemo { public static void main(String[] args) { Collection<String> collection = new ...
- `contains(Object o)`: 检查列表是否包含指定元素。 在JavaScript中,虽然没有内置的ArrayList类,但我们可以通过Array对象来实现类似的功能。例如,使用push、pop、splice等方法进行添加、删除操作,通过索引...