java 两层for循环去重
时间: 2024-10-13 15:09:33 浏览: 41
Java数组去重 集合List去重的常用方法总结
在Java中,如果你需要对二维数组或者列表(如List<List<Integer>>)进行两层嵌套的去重操作,可以使用两个for循环配合HashSet或者ArrayList来实现。以下是基本的步骤:
1. 创建一个临时集合(比如Set)用于存放唯一元素。
2. 使用外部的for循环遍历外层的数据结构。
3. 对于每一个元素,再使用内部的for循环遍历其内部的所有元素。
4. 检查当前元素是否已经存在于临时集合中,如果不存在则添加到集合中。
5. 内部循环结束后,更新原数据结构的对应位置为集合中的唯一元素。
以下是一个简单的示例代码片段:
```java
List<List<Integer>> data = ... // 你的二维数据
// 创建一个HashSet存储唯一的元素
Set<Integer> uniqueElements = new HashSet<>();
// 双层循环遍历并去重
for (List<Integer> outerList : data) {
for (Integer innerElement : outerList) {
if (!uniqueElements.contains(innerElement)) {
// 如果元素不在集合中,则添加并保留
outerList.remove(outerList.indexOf(innerElement)); // 或者直接 outerList.add(innerElement);
uniqueElements.add(innerElement);
}
}
}
```
阅读全文