List<String> materialSubset ,每个string 格式1,2,3 .需要排序后 查看是否有重复
时间: 2024-09-09 21:16:20 浏览: 54
对于给定的`List<String>` `materialSubset`,其每个元素都是形如 "1,2,3" 的格式,你可以先对每个字符串内的数字按逗号分割,然后将得到的数字列表转换为整数列表进行排序。接着,你可以使用数据结构(比如HashSet)检查是否存在重复的整数。由于排序后的列表不允许重复,所以如果有重复的数字,说明原始的字符串中有相同的序列。
以下是步骤的一个简化版本的Java代码:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public boolean hasDuplicateSorted(String[] materialSubsetStrings) {
for (String subset : materialSubsetStrings) {
// 分割字符串,忽略空格
String[] numbers = subset.replaceAll("\\s+", "").split(",");
// 将数字字符串转为整数列表并排序
List<Integer> sortedNumbers = new ArrayList<>();
for (String number : numbers) {
sortedNumbers.add(Integer.parseInt(number));
}
Collections.sort(sortedNumbers);
// 使用HashSet检查重复
Set<Integer> uniqueNumbers = new HashSet<>(sortedNumbers);
if (uniqueNumbers.size() < sortedNumbers.size()) {
return true; // 找到重复,返回true
}
}
return false; // 没有找到重复,返回false
}
```
阅读全文