浏览代码

Extract adding/removing old/new values into methods.

Lucas Stadler 12 年之前
父节点
当前提交
6116f97e2b
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      java/src/main/java/lp/java/understanding/SlidingWindow.java

+ 7 - 0
java/src/main/java/lp/java/understanding/SlidingWindow.java

@ -61,6 +61,11 @@ public class SlidingWindow<T> {
61 61
62 62
    public void slide(long slideBy) {
63 63
        windowStart += slideBy;
64
        removeOldValues();
65
        addNewValues();
66
    }
67
68
    private void removeOldValues() {
64 69
        for (int i = 0; i < currentValues.size(); i++) {
65 70
            long timestamp = currentTimestamps.get(i);
66 71
            if (!isInWindow(timestamp)) {
@ -69,7 +74,9 @@ public class SlidingWindow<T> {
69 74
                i -= 1;
70 75
            }
71 76
        }
77
    }
72 78
79
    private void addNewValues() {
73 80
        for (int i = 0; i < newValues.size(); i++) {
74 81
            long timestamp = newTimestamps.get(i);
75 82
            if (isInWindow(timestamp)) {