Comparator排序 有多个字符串"C", "A", "B", "E", "D", "F",现要求用Comparator接口,对其从小到大排序,请问该怎么写。我一直不是很懂排序的几个接口 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //: c11:DirList.java// Displays directory listing.// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002// www.BruceEckel.com. See copyright notice in CopyRight.txt.package org.luyang;import java.util.*;import com.bruceeckel.util.*;public class Sort { public static String sort1 = "BIG_TO_SMALL"; public static String sort2 = "SMALL_TO_BIG"; public static void main(String[] args) { String[] list = new String[] { "C", "A", "B", "E", "D", "F" }; Arrays.sort(list, new AlphabeticComparator1(sort1)); for (int i = 0; i < list.length; i++) System.out.println(list[i]); }}class AlphabeticComparator1 implements Comparator { String sort = null; public AlphabeticComparator1(String sort) { this.sort = sort; } public int compare(Object o1, Object o2) { String s1 = (String) o1; String s2 = (String) o2; if ("SMALL_TO_BIG".equalsIgnoreCase(sort)) { return s1.toLowerCase().compareTo(s2.toLowerCase()); } else { return s1.toLowerCase().compareTo(s2.toLowerCase()) * -1; } }} // /:~ public static String sort1 = "BIG_TO_SMALL"; public static String sort2 = "SMALL_TO_BIG"; sort1:从大到小 sort2:从小到大 这该是Thinking in java中的吧。能告诉我在哪一面啊 字符串已经实现了comparable接口,可以直接排序 String[] list = new String[] { "C", "A", "B", "E", "D", "F" }; Arrays.sort(list,new Comparator(){ public int compare(Object o1, Object o2) { String s1=o1.toString(); String s2=o2.toString(); return s1.compareTo(s2); } }); System.out.println(Arrays.asList(list)); } 一个jvm请求另一个jvm中的数据,哪种方式效率比较高 web项目发布注意事项,删除那些东西,如何整理整个项目 请问论坛中如何贴java格式的代码? 如何区分jframe这2种失去焦点的事件? 问个简单问题!! 数据源和连接池是什么关系? 很小的问题, 相信你一定能回答 弱弱的问题.来抢分~~~ 求think in java电子版 java tutorial里的例子,为什么会死锁?我死活分析不出来 大虾 帮帮我...为什么在DOS命令下,我的JAVA程序不能运行?? jsp编程的语言的初步理解是否正确?
// Displays directory listing.
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
package org.luyang;import java.util.*;import com.bruceeckel.util.*;public class Sort {
public static String sort1 = "BIG_TO_SMALL";
public static String sort2 = "SMALL_TO_BIG"; public static void main(String[] args) { String[] list = new String[] { "C", "A", "B", "E", "D", "F" }; Arrays.sort(list, new AlphabeticComparator1(sort1));
for (int i = 0; i < list.length; i++)
System.out.println(list[i]);
}
}class AlphabeticComparator1 implements Comparator {
String sort = null; public AlphabeticComparator1(String sort) {
this.sort = sort;
} public int compare(Object o1, Object o2) {
String s1 = (String) o1;
String s2 = (String) o2;
if ("SMALL_TO_BIG".equalsIgnoreCase(sort)) {
return s1.toLowerCase().compareTo(s2.toLowerCase());
} else {
return s1.toLowerCase().compareTo(s2.toLowerCase()) * -1;
} }
} // /:~
public static String sort2 = "SMALL_TO_BIG"; sort1:从大到小
sort2:从小到大
Arrays.sort(list,new Comparator(){
public int compare(Object o1, Object o2) {
String s1=o1.toString();
String s2=o2.toString();
return s1.compareTo(s2);
}
});
System.out.println(Arrays.asList(list));
}