每个列表元素由一个数字串和若干字母构成,若两个元素中数字串相同则认为元素相等,Java写一段代码,去掉重复元素
时间: 2023-12-24 11:04:54 浏览: 27
假设原始的列表为 `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` 中就是去重后的列表了。
相关问题
java中判断两个字符串数组元素是否相等
在Java中,判断两个字符串数组元素是否相等,可以使用Arrays.equals()方法。示例代码如下:
String[] arr1 = {"hello", "world"};
String[] arr2 = {"hello", "world"};
if (Arrays.equals(arr1, arr2)) {
System.out.println("两个字符串数组元素相等");
} else {
System.out.println("两个字符串数组元素不相等");
}
java中判断两个字符串数组单个元素是否相等
可以使用equals方法比较两个字符串数组中单个元素是否相等。例如:
```
String[] arr1 = {"hello", "world"};
String[] arr2 = {"hello", "java"};
if(arr1[0].equals(arr2[0])){
System.out.println("第一个元素相等");
} else {
System.out.println("第一个元素不相等");
}
```