请问aa,Aa,Zb,Wa,cc,如果按照英文字母排序的话顺序是如何的? 请问aa,Aa,Zb,Wa,cc,如果按照英文字母排序的话顺序是如何的?我写的排序算法,怎么输出是Aa,Wa,Zb,aa,ccA和a排序的时候难道先输出A?排序时为什么按照先大写后小写的顺序呢?请高手指点!谢谢拉! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 大写在前,小写在后(ABCD....abcd....),除非你使用忽略大小写的方法 onlykgx(还行) :java里忽略大小写英文字母的语句怎么写??? ASCII 码排序的 系统会去和 ASCII对比 然后显示 所以你排序的时候会出现 输出是Aa,Wa,Zb,aa,cc compareToIgnoreCase(String str) 不考虑大小写,按字典顺序比较两个字符串。String 有这个方法 利用String.CASE_INSENSITIVE_ORDER(你写排序的一定知道java.lang.Comparable和java.util.Comparator吧,如果不是,则回去补课:D)比如 String[] array = new String[] {"aa","Aa","Zb","Wa","cc"}; Arrays.sort(array, String.CASE_INSENSITIVE_ORDER); for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } 如果你真的不知道上面讲的Compar****接口,有个简单的办法,估计你的排序应该是基于比较的,比较的时候,都用大写,存放的时候还用原来的不就好了? shine333(enihs):我原来是这样写的:把Data目录下文件排序!String k = "/Data";File f = new File(k);String names[] = f.list();Arrays.sort(names, new Comparator<String>() {public int compare(String o1, String o2) {String s1 = (String) o1;String s2 = (String) o2;return s1.toLowerCase().compareTo(s2.toLowerCase()); } });for (int i = 0; i < names.length; i++) {....names[i]...}你说我上面的程序改如何改呢?谢谢拉! 你自己实现一个Comparator<String>, 那不是在重复发明轮子嘛, 直接使用String.CASE_INSENSITIVE_ORDER 就可以了.Arrays.sort(names, new Comparator<String>() {public int compare(String o1, String o2) {String s1 = (String) o1;String s2 = (String) o2;return s1.toLowerCase().compareTo(s2.toLowerCase());}});改成Arrays.sort(names, String.CASE_INSENSITIVE_ORDER); 就可以了 jk88811(jkzqw) :Arrays.sort(names, String.CASE_INSENSITIVE_ORDER); //是忽略大小写的排序对吧!那不忽略大小写的正常排序语句又该如何写呢!谢谢拉! Frame里的Button,Label等组件都显示不出来,跟参数有关? Unicode转换为GB问题 怎么通过 djom 递归读取数据库中的数据 并且生成相应的xml 对象 关于内部类的问题?????? 【求助】 子类出现了一个与父类同名的属性会怎样? java函数中返回临时变量的地址,会不会引起内存泄露 寻java set**(),get**()投机取巧的方法!急!!! Re:如何长久保存添入下拉列表框的项目信息?? 为什么没人帮我啊?看来我要再发一次了,解决者定给分!! 在线等 Java Jspinner转换问题 一个基础的问题 急问,sqldata 的问题,在线等
java里忽略大小写英文字母的语句怎么写???
不考虑大小写,按字典顺序比较两个字符串。String 有这个方法
String[] array = new String[] {"aa","Aa","Zb","Wa","cc"};
Arrays.sort(array, String.CASE_INSENSITIVE_ORDER);
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
File f = new File(k);
String names[] = f.list();Arrays.sort(names, new Comparator<String>() {
public int compare(String o1, String o2) {
String s1 = (String) o1;
String s2 = (String) o2;
return s1.toLowerCase().compareTo(s2.toLowerCase());
}
});
for (int i = 0; i < names.length; i++) {....
names[i]
...
}
你说我上面的程序改如何改呢?谢谢拉!
public int compare(String o1, String o2) {
String s1 = (String) o1;
String s2 = (String) o2;
return s1.toLowerCase().compareTo(s2.toLowerCase());
}
});改成
Arrays.sort(names, String.CASE_INSENSITIVE_ORDER);
就可以了
Arrays.sort(names, String.CASE_INSENSITIVE_ORDER); //是忽略大小写的排序对吧!
那不忽略大小写的正常排序语句又该如何写呢!谢谢拉!