java 去掉列表中某个制定原始重复的 对象
时间: 2023-05-10 16:50:25 浏览: 59
在Java中,我们可以通过使用HashSet来去除列表中的重复对象。HashSet是一种Set实现,可以存储不重复的元素集合。
假设我们有一个列表List,其中有多个重复的Object对象,我们可以使用以下代码去除其中的某个指定重复对象:
```
List<Object> list = new ArrayList<>();
Object targetObject = new Object(); // 指定的重复对象
// 添加多个对象,包括指定的重复对象
list.add(targetObject);
list.add(new Object());
list.add(new Object());
list.add(targetObject);
list.add(new Object());
Set<Object> set = new HashSet<>();
for (Object obj : list) {
if (obj != targetObject) {
set.add(obj);
}
}
```
以上代码首先创建了一个ArrayList,并添加了多个Object对象。其中包含了重复的targetObject对象。然后创建一个HashSet,遍历list中的元素,如果元素不是targetObject,则将其添加到set中。最终得到的set中的元素就是去重后的列表,并且targetObject只出现一次。
需要注意的是,如果列表中包含多个指定重复对象,则需要遍历list时分别判断每个元素是否是重复对象,并将其添加到set中。
相关问题
java中list去除重复对象
可以通过以下步骤去除 Java 中 List 中的重复对象:
1. 创建一个新的空 List 存储不重复的对象。
2. 遍历原始 List 中的每个对象,如果该对象不存在于新 List 中,则将其添加到新 List 中。
3. 返回新 List。
下面是一个示例代码:
```
List<Object> originalList = new ArrayList<>();
// 添加一些重复的对象到 originalList 中
List<Object> newList = new ArrayList<>();
for (Object obj : originalList) {
if (!newList.contains(obj)) {
newList.add(obj);
}
}
// newList 中包含了去除重复对象后的 List
```
需要注意的是,该方法仅适用于自定义的对象,对于 Java 中的基本数据类型,可以使用 Set 来去除重复元素。
java 8 stream 对对象列表中某个属性求和怎么写
可以使用Java 8 Stream中的mapToInt和sum方法来实现对对象列表中某个属性求和的功能。例如,假设有一个Student类,其中包含一个score属性,可以使用以下代码来计算一个Student列表中所有学生的score之和:
```java
List<Student> students = ...; // 假设已经初始化了一个学生列表
int totalScore = students.stream()
.mapToInt(Student::getScore) // 将每个学生的score属性映射为一个IntStream
.sum(); // 对IntStream中的所有元素求和
```
其中,`Student::getScore` 是一个方法引用,代表获取每个学生的score属性。使用 `mapToInt` 将每个学生的score属性映射为一个IntStream,再使用 `sum` 对IntStream中的所有元素求和,得到一个总分数。