[问题] Comparator 比对整数的时候没考虑位数

楼主: douglasjs (帅到吐)   2018-01-31 09:03:26
我要用 comparator 功能来做整数的比对
但是发现它似乎只能处理字串,但是整数比对没考虑位数
举例: 18 13 11 10 10
加入 100 来排序此时会变成
18 13 11 100 10 10
100后面的0没有被考虑进去
有没有解决方法呢?
private Key[] pq; // store items at indices 1 to n
private int n; // number of items on priority queue
private Comparator<Key> comparator; // optional comparator
private boolean less(int i, int j) {
if (comparator == null) {
return ((Comparable<Key>) pq[i]).compareTo(pq[j]) < 0;
}
else {
return comparator.compare(pq[i], pq[j]) < 0;
}
}
作者: ssccg (23)   2018-01-31 09:28:00
你在比的是Key,又不是intComparator没有只能处理字串,Comparator只是个接口,什么都不能处理,怎么处理是看实作...比int可以直接用Integer.compare
作者: Jichang (C.C.Lemon)   2018-02-01 01:25:00
比法 不是你自己写的吗 先比位数不就好了

Links booklink

Contact Us: admin [ a t ] ucptt.com