给定一个包含整数的列表,其中可能包含重复值和缺失值(用null表示)。编写一个Java程序来清洗数据,去除重复值和缺失值。
时间: 2024-09-15 12:07:29 浏览: 31
为了处理这个问题,你可以创建一个Java程序,利用HashSet的特性来自动去除重复值,并检查每个元素是否为null。这里是一个简单的示例:
```java
import java.util.*;
public class DataCleaning {
public static List<Integer> cleanData(List<Integer> inputList) {
// 创建一个新的HashSet来存储不重复的值
Set<Integer> uniqueSet = new HashSet<>();
// 遍历输入列表
for (Integer value : inputList) {
// 如果值不是null,添加到集合中
if (value != null) {
uniqueSet.add(value);
}
}
// 将HashSet转换回ArrayList,得到去重后的列表
List<Integer> cleanedList = new ArrayList<>(uniqueSet);
return cleanedList;
}
public static void main(String[] args) {
List<Integer> dirtyData = Arrays.asList(1, 2, 2, 3, null, 4, 5, null, 6, 1);
System.out.println("Cleaned data: " + cleanData(dirtyData));
}
}
```
在这个程序中,`cleanData` 方法接收一个 `List<Integer>` 作为输入,然后遍历列表,只将非null的值添加到 `uniqueSet` 中。最后,通过将 `uniqueSet` 转换为 `ArrayList` 来获得去重后的列表。
运行 `main` 函数,你会看到类似下面的结果:
```
Cleaned data: [1, 2, 3, 4, 5, 6]
```
阅读全文