Collator 也是 Comparator。如果元素是字符串:
List<String> list = Arrays.asList("abc", "xyz", "bde");
Collator spCollator = Collator.getInstance(new Locale("es", "ES"));
list.sort(spCollator);
如果元素是自定义对象:
List<Element> list = Arrays.asList(new Element("abc"), new Element("xyz"), new Element("bde"), new Element("rew"), new Element("aER"),
new Element("Tre"), new Element("ade"));
list.subList(0, 4).sort(new MyElementComparator());
System.out.println(list);
private static class MyElementComparator implements Comparator<Element>{
Collator spCollator = Collator.getInstance(new Locale("es", "ES"));
public int compare (Element e1, Element e2){
return spCollator.compare(e1.getValue(), e2.getValue());
}
}
或 lambda 方式:
List<Element> list = Arrays.asList(new Element("abc"), new Element("xyz"), new Element("bde"), new Element("rew"), new Element("aER"),
new Element("Tre"), new Element("ade"));
Collator spCollator = Collator.getInstance(new Locale("es", "ES"));
list.subList(0, 4).sort((e1, e2)-> spCollator.compare(e1.getValue(), e2.getValue()));
System.out.println(list);