//集合中有包含关系的字符串去重
public static List<String> dinstinct(List<String> words) {
List<String> result = new ArrayList<>();
// 将集合安装字符串长度升序排序
StepComparator stepComparator = new StepComparator();
Collections.sort(words, stepComparator);
for (int i = 0; i < words.size(); i++) {
boolean flag = true;
String shortString = words.get(i);
for (int j = i + 1; j < words.size(); j++) {
String longString = words.get(j);
if (longString.contains(shortString)) {
flag = false;
break;
}
}
if (flag) {
result.add(words.get(i));
}
}
return result;
}
//比较器
class StepComparator implements Comparator<String> {
@Override
public int compare(String str1, String str2) {
if (str1.length() > str2.length()) {
return 1;
} else {
return -1;
}
}
}