/** Removes all of the elements from this list. The list will be empty after this call returns. */ public void clear() { final int size = size(); final int start = elementOffset(framedElementLength, 0); final int end = framedElementLength * size; setMemory(start, end, (byte) 0); setSize(0); }
/** Removes all of the elements from this list. The list will be empty after this call returns. */ public void clear() { final int size = size(); final int start = elementOffset(framedElementLength, 0); final int end = framedElementLength * size; setMemory(start, end, (byte) 0); setSize(0); }
protected void setValue(DirectBuffer buffer, int offset, int length, int idx, int elementOffset) { setMemory(elementOffset, framedElementLength, (byte) 0); listBuffer.putInt(elementLengthOffset(elementOffset), length); listBuffer.putBytes(elementDataOffset(elementOffset), buffer, offset, length); }
protected void setValue(DirectBuffer buffer, int offset, int length, int idx, int elementOffset) { setMemory(elementOffset, framedElementLength, (byte) 0); listBuffer.putInt(elementLengthOffset(elementOffset), length); listBuffer.putBytes(elementDataOffset(elementOffset), buffer, offset, length); }
/** * Removes the element at the specified position in this list. Shifts any subsequent elements to * the left (subtracts one from their indices). * * @param idx of the element to be removed. */ public void remove(int idx) { final int size = size(); boundsCheckIncludingSize(idx, size); if (size - idx > 1) { final int elementOffset = elementOffset(framedElementLength, idx); final int copyOffset = elementOffset + framedElementLength; final int copyLength = (size - idx - 1) * framedElementLength; listBuffer.putBytes(elementOffset, listBuffer, copyOffset, copyLength); } final int lastElementOffset = elementOffset(framedElementLength, size - 1); setMemory(lastElementOffset, framedElementLength, (byte) 0); setSize(size - 1); }
/** * Removes the element at the specified position in this list. Shifts any subsequent elements to * the left (subtracts one from their indices). * * @param idx of the element to be removed. */ public void remove(int idx) { final int size = size(); boundsCheckIncludingSize(idx, size); if (size - idx > 1) { final int elementOffset = elementOffset(framedElementLength, idx); final int copyOffset = elementOffset + framedElementLength; final int copyLength = (size - idx - 1) * framedElementLength; listBuffer.putBytes(elementOffset, listBuffer, copyOffset, copyLength); } final int lastElementOffset = elementOffset(framedElementLength, size - 1); setMemory(lastElementOffset, framedElementLength, (byte) 0); setSize(size - 1); }