1.有一个数组:f[a,A,h,f,H,F].
2.我要实现一个排序的效果:f[A,a,F,f,H,h].
先按字母顺序排列,再把每个字母的大写字母写在前面,小写放在后面。
3.请各位大虾指点迷津。
2.我要实现一个排序的效果:f[A,a,F,f,H,h].
先按字母顺序排列,再把每个字母的大写字母写在前面,小写放在后面。
3.请各位大虾指点迷津。
解决方案 »
- 如何在区分spring的IOC容器和spring MVC的IOC容器的ContextRefreshedEvent?
- Structs 2 上传文件, 点击提交是总要提示我是否保存Action,纠结很久了,请各位大侠赐教
- jasperreport如何传入多个Bean参数??高手来!!
- Vector类中成员的取出
- 各位进来看看,小妹妹超级难题,,给高分---------------
- 预处理参数问题。
- Eclipse中不支持servlet?
- Apache Tomcat 4.0+jdk1.4.1+mysql的问题
- 寻求网站“同学录”的源代码,有高分相送
- 如何输出org.jdom.Document实例到JSP页面上?
- 请教:假如我想自己做个网站 运行在自己家里的服务器 具体需要什么样的步骤??
- java.lang.ClassCastException: [Ljava.lang.Object
另外大小写可以用ignorecase等方法
高深的不会
import java.util.*;public class Test {
public static void sort(char[] ca){
List list = new ArrayList();
for(int i=0; i<ca.length; i++) {
list.add(String.valueOf(ca[i]));
}
Collections.sort(list, new Comparator() {
public int compare(Object o1, Object o2){
int result = 0;
String s1 = o1.toString().toLowerCase();
String s2 = o2.toString().toLowerCase();
if(s1.equals(s2)){
result = o1.toString().compareTo(o2.toString());
} else{
result = s1.compareTo(s2);
}
return result;
}
});
for(int i=0; i<ca.length; i++) {
ca[i] = (list.get(i).toString()).charAt(0);
}
}
public static void main(String [] args) {
char[] ca = new char[] {'a','b','A','h','f','H','g','F'};
sort(ca);
for(int i=0; i<ca.length; i++) {
System.out.print(ca[i]);
if(i<ca.length-1) {
System.out.print(", ");
}
}
}
}
public static void main(String args[]){
String a[]={"a","A","h","f","H","F"};
Comparator c=new Comparator(){
public int compare(Object el1, Object el2){
String key1=el1.toString().toLowerCase()
+"_"+el1.toString();
String key2=el2.toString().toLowerCase()
+"_"+el2.toString();
return key1.compareTo(key2);
}
};
Arrays.sort(a, c);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}