我需要定義一個定製的比較來ConcurrentSkipListMap,我使用此代碼基於「LogicalClock」進行排序,但結果並不如我所料。我創建這樣的關鍵:「客戶端Id」 +「:」 +「LogicalClock」自定義比較的ConcurrentSkipListMap
class Qentry{
int AckCount;
int ClientID;
long LogicalClock;
}
Comparator<String> LogicalClockComparator = new Comparator<String>() {
@Override public int compare(String k1, String k2) {
if (k1.compareTo(k2)==0)
return 0;
return (int)(Long.valueOf(k1.substring(k1.indexOf(":")+1)) -Long.valueOf(k2.substring(k1.indexOf(":")+1)));
}
ConcurrentSkipListMap<String,Qentry> q;
q =new ConcurrentSkipListMap<String,Qentry>(LogicalClockComparator);
我想我需要一個程序員對檢查錯字。 :D – nourani