我必須使用「class Row_i」 - 對象(請參見下文)優化Java Vector,其中每個數字範圍(startPos - endPos)的兩個系列(A和B)行。 此向量必須被排序和優化。使用自定義對象對Java Vector進行排序和優化
組/排序標準:
1 - 通過ID_A行分組,
2 - 由ID_B行分組,
3 - 由startPosA行分組,
4 - 通過startPosB行分組,
所以排序後必須刪除多餘的行。
冗餘行:
1.如果startPosA第(i + 1)值是下一個數字startPosA(I)值僅當滿足POSB相同的標準
行優化的應happend。
矢量沒有排序: ..................................
ID_A id_B sPosA - ePosA sPosA - ePosA
2392 ++ 4061 ++ 3158 - 3163 ++ 13222 - 13227;
1192 ++ 2064 ++ 287 - 290 ++ 257 - 260;
2392 ++ 1063 ++ 480 - 590 ++ 1950 - 1960;
1092 ++ 1555 ++ 7385 - 7395 ++ 193 - 203;
1192 ++ 2064 ++ 273 - 286 ++ 243 - 256;
1192 ++ 2064 ++ 291-294 ++ 261-264;
向量排序,並優化
1092 ++ ++ 1555 7385 - 7395 193 ++ - 203;
1192 ++ 2064 ++ 273 - 294 ++ 243 - 264;
2392 ++ 1063 ++ 480 - 590 ++ 1950 - 1960;
2392 ++ 4061 ++ 3158 - 3163 ++ 13222 - 13227
.........................
實現取決於收藏大小各不相同。並在一個案例200 - 5000個對象 有沒有人知道如何解決這個,我有效的方式。
我會很樂意提供任何幫助。
整個Java中的類此:
對象 - 類 「Row_i」 - >http://pastebin.com/wc3ytUqf,
@Missing FAKTOR:謝謝你的提示!
謝謝,不需要隨機訪問。從來沒有與集合工作,你可能會寫一個更確切的例子嗎? 我用簡單的for - loop和if - query(見下面)管理了這個問題。但它不能正常工作。 – xaoc 2010-09-03 16:28:07
@xaoc:將您的代碼發佈到pastebin.com上,並將其鏈接放在評論中。 – missingfaktor 2010-09-03 17:15:44
class Row_i - > http://pastebin.com/wc3ytUqf, class UpdateTable-> http://pastebin.com/K4NeTtCV, @Missing Faktor:謝謝你的提示! – xaoc 2010-09-04 14:08:00