コード例 #1
0
  void compact() {
    if (gapLength > 0) {
      int newLength = charArray.length - gapLength;
      char[] newCharArray = new char[newLength];
      int gapEnd = gapStart + gapLength;
      System.arraycopy(charArray, 0, newCharArray, 0, gapStart);
      System.arraycopy(charArray, gapEnd, newCharArray, gapStart, charArray.length - gapEnd);
      charArray = newCharArray;
      gapStart = charArray.length;
      gapLength = 0;
    }

    markVector.compact();
  }