- - PR -
プライオリティキュー
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-09-03 21:13
class MyCmp implements Comparator {
public int compare(String s1, String s2) { return s2.compareToIgnoreCase(s1); } } public class JbPrioq2 { public static void main(String[] args) { PriorityQueue pq = new PriorityQueue(10, new MyCmp()); pq.offer("bbbb"); pq.offer("DDDD"); pq.offer("AAAA"); pq.offer("cccc"); while (pq.size() > 0) { System.out.println(pq.poll()); } } } コンパレータで順序づけするのはわかりますが、これでなんで逆辞書順になるのでしょうか? |
|
投稿日時: 2006-09-03 21:21
MyCmpのcompareで順序を自然順序から反転させているからです。
|
|
投稿日時: 2006-09-03 21:58
う〜ん?もう一つよくわかりません???
|
|
投稿日時: 2006-09-03 22:45
わかりました。
MYCmpで s1がAAAAA,s2がBBBB 本来なら s1が前なのだけれど、s2.compareToIgnoreCase(s1);で逆の値を返すから、 逆さに並ぶって事ですね。 この解釈でいいのかな? |
1