日期:2014-05-20 浏览次数:20608 次
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
class IntegerCompareComparator implements Comparator {
public int compare(Object i, Object j) {// 实现接口方法,必须遵循比较规则
// 比较整数的首位,首位大就说明数值大,如果首位相等,继续比较次位,次位大则数值大,依次类推
return i.toString().compareTo(j.toString()) > 0 ? 1 : (i.toString()
.compareTo(j.toString()) == 0 ? 0 : -1);
}
}
public class ReadLine {
public static void main(String[] args) {
int integers[] = { 9, 12, 4 };
TreeSet sortset = new TreeSet<Integer>(new IntegerCompareComparator());// 添加比较器
for (int i = 0; i < integers.length; i++) {
sortset.add(integers[i]);// TreeSet自动会消除重复,还能根据比较器排序
}
String tempString = "";
// 最先遍历的是最小的 比如 12 4 9
for (Iterator<Integer> iterator = sortset.iterator(); iterator
.hasNext();) {
Integer i = iterator.next();
tempString = i.intValue() + tempString;// 构建字符串,右边为“最小”的整数
}
int i = Integer.parseInt(tempString);
System.out.println(i);//output
}
}
/*output:
9412
*/