103 @Override 104 public ArrayData shrink(final long newLength) { 105 super.shrink(newLength); 106 deleted.resize(length()); 107 return this; 108 } 109 110 @Override 111 public ArrayData set(final int index, final Object value, final boolean strict) { 112 deleted.clear(ArrayIndex.toLongIndex(index)); 113 return super.set(index, value, strict); 114 } 115 116 @Override 117 public ArrayData set(final int index, final int value, final boolean strict) { 118 deleted.clear(ArrayIndex.toLongIndex(index)); 119 return super.set(index, value, strict); 120 } 121 122 @Override 123 public ArrayData set(final int index, final long value, final boolean strict) { 124 deleted.clear(ArrayIndex.toLongIndex(index)); 125 return super.set(index, value, strict); 126 } 127 128 @Override 129 public ArrayData set(final int index, final double value, final boolean strict) { 130 deleted.clear(ArrayIndex.toLongIndex(index)); 131 return super.set(index, value, strict); 132 } 133 134 @Override 135 public boolean has(final int index) { 136 return super.has(index) && deleted.isClear(ArrayIndex.toLongIndex(index)); 137 } 138 139 @Override 140 public ArrayData delete(final int index) { 141 final long longIndex = ArrayIndex.toLongIndex(index); 142 assert longIndex >= 0 && longIndex < length(); 143 deleted.set(longIndex); 144 underlying.setEmpty(index); 145 return this; 146 } 147 148 @Override | 103 @Override 104 public ArrayData shrink(final long newLength) { 105 super.shrink(newLength); 106 deleted.resize(length()); 107 return this; 108 } 109 110 @Override 111 public ArrayData set(final int index, final Object value, final boolean strict) { 112 deleted.clear(ArrayIndex.toLongIndex(index)); 113 return super.set(index, value, strict); 114 } 115 116 @Override 117 public ArrayData set(final int index, final int value, final boolean strict) { 118 deleted.clear(ArrayIndex.toLongIndex(index)); 119 return super.set(index, value, strict); 120 } 121 122 @Override 123 public ArrayData set(final int index, final double value, final boolean strict) { 124 deleted.clear(ArrayIndex.toLongIndex(index)); 125 return super.set(index, value, strict); 126 } 127 128 @Override 129 public boolean has(final int index) { 130 return super.has(index) && deleted.isClear(ArrayIndex.toLongIndex(index)); 131 } 132 133 @Override 134 public ArrayData delete(final int index) { 135 final long longIndex = ArrayIndex.toLongIndex(index); 136 assert longIndex >= 0 && longIndex < length(); 137 deleted.set(longIndex); 138 underlying.setEmpty(index); 139 return this; 140 } 141 142 @Override |