MCPcopy Create free account
hub / github.com/e2wugui/zeze / merge

Method merge

ZezeJava/ZezeJava/src/main/java/Zeze/Game/Rank.java:302–330  ·  view source on GitHub ↗
(BRankList left, BRankList right)

Source from the content-addressed store, hash-verified

300 }
301
302 private BRankList merge(BRankList left, BRankList right) {
303 BRankList result = new BRankList();
304 int indexLeft = 0;
305 int indexRight = 0;
306 while (indexLeft < left.getRankList().size() && indexRight < right.getRankList().size()) {
307 var c = compactor.compare(left.getRankList().get(indexLeft).getDynamic().getBean(),
308 right.getRankList().get(indexRight).getDynamic().getBean());
309 if (c >= 0) {
310 result.getRankList().add(left.getRankList().get(indexLeft));
311 ++indexLeft;
312 } else {
313 result.getRankList().add(right.getRankList().get(indexRight));
314 ++indexRight;
315 }
316 }
317 // 下面两种情况不会同时存在,同时存在"在上面"处理。
318 if (indexLeft < left.getRankList().size()) {
319 while (indexLeft < left.getRankList().size()) {
320 result.getRankList().add(left.getRankList().get(indexLeft));
321 ++indexLeft;
322 }
323 } else if (indexRight < right.getRankList().size()) {
324 while (indexRight < right.getRankList().size()) {
325 result.getRankList().add(right.getRankList().get(indexRight));
326 ++indexRight;
327 }
328 }
329 return result;
330 }
331
332 public static class RankTotal extends ReentrantLock {
333 private long BuildTime;

Callers 2

mergeRankMethod · 0.95
getRankDirectMethod · 0.95

Calls 12

getRankListMethod · 0.95
getDynamicMethod · 0.80
sizeMethod · 0.65
getBeanMethod · 0.65
getMethod · 0.65
addMethod · 0.65
copyMethod · 0.65
nextMethod · 0.65
hasNextMethod · 0.65
removeMethod · 0.65
compareMethod · 0.45
iteratorMethod · 0.45

Tested by

no test coverage detected