排序 重写Comparator就行了 没什么特殊的
public class C1568 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
ArrayList<String> list = new ArrayList();
for (int i = 0; i <= n-1 ; i++){
list.add(input.next());
}
list.sort(new Comparator<String>(){
public int compare(String o1,String o2){
String bir1 = o1.substring(6,14);
String bir2 = o2.substring(6,14);
if(bir2.equals(bir1)) return o2.compareTo(o1);
else return bir2.compareTo(bir1);
}
});
for(String res : list){
System.out.println(res);
}
}
}

该代码示例展示了一个Java程序,它读取用户输入的字符串列表,并使用自定义的Comparator进行排序。Comparator比较字符串时,重点关注每个字符串的第6到14个字符。如果这两个子串相等,则根据原始字符串的自然顺序进行排序;否则,根据子串进行排序。最后,程序打印出排序后的字符串列表。
1815

被折叠的 条评论
为什么被折叠?



