在 Java 中,要实现一个忽略大小写的比较器,可以创建一个实现 Comparator
接口的类,并重写 compare
方法
import java.util.Comparator;
public class CaseInsensitiveStringComparator implements Comparator<String> {
@Override
public int compare(String s1, String s2) {
return s1.toLowerCase().compareTo(s2.toLowerCase());
}
}
这个比较器将字符串转换为小写形式,然后使用 compareTo
方法进行比较。你可以像下面这样使用这个比较器:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("banana");
list.add("Cherry");
list.add("avocado");
Collections.sort(list, new CaseInsensitiveStringComparator());
for (String s : list) {
System.out.println(s);
}
}
}
输出结果将会是按字母顺序排列的,且不区分大小写:
Apple
avocado
banana
Cherry