每个列表元素由一个数字串和若干字母构成,若两个元素中数字串相同则认为元素相等,Java写一段代码,去掉重复元素
时间: 2023-12-24 15:04:54 浏览: 83
两个数相加c语言
假设原始的列表为 `List<String> originalList`,我们可以使用 HashSet 来去除重复元素:
```java
Set<String> set = new HashSet<>();
List<String> newList = new ArrayList<>();
for (String element : originalList) {
String digits = element.replaceAll("\\D+", ""); // 提取数字串
if (set.add(digits)) {
newList.add(element);
}
}
```
解释一下:
- 首先创建一个空的 HashSet,用于存储已经出现过的数字串;
- 然后遍历原始列表中的每个元素;
- 对于每个元素,使用正则表达式 `\\D+` 提取出数字串;
- 如果该数字串之前没有出现过,就把它加入 HashSet,并把整个元素加入新的列表中。
这样,`newList` 中就是去重后的列表了。
阅读全文