Class

com.github.arturopala.bufferandslice

ArrayBuffer

Related Doc: package bufferandslice

Permalink

final class ArrayBuffer[T] extends ArrayBufferLike[T]

Growable, mutable array of values.

T

type of the underlying array items

Linear Supertypes
ArrayBufferLike[T], Buffer[T], (Int) ⇒ T, AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. ArrayBuffer
  2. ArrayBufferLike
  3. Buffer
  4. Function1
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ArrayBuffer(initialArray: Array[T])

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (T) ⇒ A): (Int) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. final def append(value: T): ArrayBuffer.this.type

    Permalink

    Appends value at the end of the buffer and advances topIndex.

    Appends value at the end of the buffer and advances topIndex.

    Definition Classes
    Buffer
    Annotations
    @inline()
  6. final def appendArray(values: Array[T]): ArrayBuffer.this.type

    Permalink

    Appends values from the given array at the end of the buffer and advances topIndex.

    Appends values from the given array at the end of the buffer and advances topIndex.

    Definition Classes
    Buffer
    Annotations
    @inline()
  7. final def appendFromIterator(iterator: Iterator[T]): ArrayBuffer.this.type

    Permalink

    Appends values from the given iterator at the end of the buffer and advances topIndex.

    Appends values from the given iterator at the end of the buffer and advances topIndex.

    Definition Classes
    Buffer
  8. final def appendIterable(iterable: Iterable[T]): ArrayBuffer.this.type

    Permalink

    Appends values from the given iterable at the end of the buffer and advances topIndex.

    Appends values from the given iterable at the end of the buffer and advances topIndex.

    Definition Classes
    Buffer
    Annotations
    @inline()
  9. final def appendSequence(values: IndexedSeq[T]): ArrayBuffer.this.type

    Permalink

    Appends values from the given sequence at the end of the buffer and advances topIndex.

    Appends values from the given sequence at the end of the buffer and advances topIndex.

    Definition Classes
    Buffer
    Annotations
    @inline()
  10. final def appendSlice(slice: Slice[T]): ArrayBuffer.this.type

    Permalink

    Appends values from the given slice at the end of the buffer and advances topIndex.

    Appends values from the given slice at the end of the buffer and advances topIndex.

    Definition Classes
    Buffer
    Annotations
    @inline()
  11. def apply(index: Int): T

    Permalink

    Returns value at the given index.

    Returns value at the given index.

    Definition Classes
    ArrayBufferBuffer → Function1
    Exceptions thrown

    IndexOutOfBoundsException if index out of range [0, length).

  12. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  13. def asSlice: Slice[T]

    Permalink

    Wraps accessible internal state as a Slice without making any copy.

    Wraps accessible internal state as a Slice without making any copy.

    Definition Classes
    ArrayBufferBuffer
  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def compose[A](g: (A) ⇒ Int): (A) ⇒ T

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  16. def copy: ArrayBuffer.this.type

    Permalink

    Creates a copy of this buffer.

    Creates a copy of this buffer.

    Definition Classes
    ArrayBufferBuffer
  17. final def drop(n: Int): Slice[T]

    Permalink

    Drops first N items and returns a Slice.

    Drops first N items and returns a Slice.

    Definition Classes
    Buffer
    Annotations
    @inline()
  18. final def dropRight(n: Int): Slice[T]

    Permalink

    Drops last N items and returns a Slice.

    Drops last N items and returns a Slice.

    Definition Classes
    Buffer
    Annotations
    @inline()
  19. def ensureIndex(index: Int): Unit

    Permalink

    Ensures buffer capacity to address provided index.

    Ensures buffer capacity to address provided index.

    Attributes
    protected
    Definition Classes
    ArrayBufferBuffer
  20. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  22. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. final def forward(distance: Int): ArrayBuffer.this.type

    Permalink

    Moves topIndex value right by the distance.

    Moves topIndex value right by the distance.

    Definition Classes
    Buffer
  24. final def get(index: Int): Option[T]

    Permalink

    Returns Some value at the index, or None if index outside of range.

    Returns Some value at the index, or None if index outside of range.

    Definition Classes
    Buffer
    Annotations
    @inline()
  25. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  26. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  27. final def head: T

    Permalink

    Returns value at the topIndex.

    Returns value at the topIndex.

    Definition Classes
    Buffer
    Annotations
    @inline()
  28. final def headOption: Option[T]

    Permalink

    Returns Some value at the topIndex or None if empty buffer.

    Returns Some value at the topIndex or None if empty buffer.

    Definition Classes
    Buffer
    Annotations
    @inline()
  29. final def init: ArrayBuffer.this.type

    Permalink

    Returns this buffer without a first element.

    Returns this buffer without a first element.

    Definition Classes
    Buffer
    Annotations
    @inline()
  30. final def insertArray(index: Int, sourceIndex: Int, insertLength: Int, sourceArray: Array[T]): ArrayBuffer.this.type

    Permalink

    Shift current content to the right starting from indexat the insertLength distance, and copies array chunk into the gap.

    Shift current content to the right starting from indexat the insertLength distance, and copies array chunk into the gap. Sets topIndex to be at least at the end of the new chunk of values.

    Definition Classes
    ArrayBufferLikeBuffer
  31. final def insertFromIterator(index: Int, insertLength: Int, iterator: Iterator[T]): ArrayBuffer.this.type

    Permalink

    Shift current content to the right starting from indexat the insertLength distance, and copies iterated values into the gap.

    Shift current content to the right starting from indexat the insertLength distance, and copies iterated values into the gap. - Sets topIndex to be at least at the end of the new chunk of values.

    Definition Classes
    Buffer
  32. final def insertSlice(index: Int, slice: Slice[T]): ArrayBuffer.this.type

    Permalink

    Shift current content to the right starting from index at the slice.length distance, and copies slice content into the gap.

    Shift current content to the right starting from index at the slice.length distance, and copies slice content into the gap. Sets topIndex to be at least at the end of the new chunk of values.

    Definition Classes
    ArrayBufferLikeBuffer
  33. final def insertValues(index: Int, sourceIndex: Int, insertLength: Int, source: (Int) ⇒ T): ArrayBuffer.this.type

    Permalink

    Shift current content to the right starting from indexat the insertLength distance, iterates over the source indexes and copies values into the gap.

    Shift current content to the right starting from indexat the insertLength distance, iterates over the source indexes and copies values into the gap. - Sets topIndex to be at least at the end of the new chunk of values.

    Definition Classes
    Buffer
  34. final def isEmpty: Boolean

    Permalink

    Is the accessible part of the buffer empty?

    Is the accessible part of the buffer empty?

    Definition Classes
    Buffer
    Annotations
    @inline()
  35. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  36. final def iterator: Iterator[T]

    Permalink

    Returns an iterator over actual buffer values, starting from the zero index up.

    Returns an iterator over actual buffer values, starting from the zero index up.

    Definition Classes
    Buffer
    Note

    does not copy buffer values,

  37. final def last: T

    Permalink

    Returns value at the zero index.

    Returns value at the zero index.

    Definition Classes
    Buffer
    Annotations
    @inline()
  38. final def lastOption: Option[T]

    Permalink

    Returns Some value at the zero index, or None if empty buffer.

    Returns Some value at the zero index, or None if empty buffer.

    Definition Classes
    Buffer
    Annotations
    @inline()
  39. final def length: Int

    Permalink

    Length of the accessible part of the buffer.

    Length of the accessible part of the buffer.

    Definition Classes
    Buffer
    Annotations
    @inline()
  40. final def map(f: (T) ⇒ T): ArrayBuffer.this.type

    Permalink

    Updates all values in the range [0,length) using the function.

    Updates all values in the range [0,length) using the function.

    f

    map function

    Definition Classes
    Buffer
    Annotations
    @inline()
    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

  41. final def modify(index: Int, map: (T) ⇒ T): ArrayBuffer.this.type

    Permalink

    Updates value at the provided index using the function.

    Updates value at the provided index using the function. Index must fall within range [0,length).

    index

    value's index

    map

    map function

    Definition Classes
    Buffer
    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

  42. final def modifyAll(map: (T) ⇒ T): ArrayBuffer.this.type

    Permalink

    Updates all values in the range [0,length) using the function.

    Updates all values in the range [0,length) using the function.

    map

    map function

    Definition Classes
    Buffer
    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

  43. final def modifyAllWhen(map: (T) ⇒ T, pred: (T) ⇒ Boolean): ArrayBuffer.this.type

    Permalink

    Updates all accepted values in the range [0,length) using the function.

    Updates all accepted values in the range [0,length) using the function.

    map

    map function

    pred

    filter function

    Definition Classes
    Buffer
    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

  44. final def modifyRange(fromIndex: Int, toIndex: Int, map: (T) ⇒ T): ArrayBuffer.this.type

    Permalink

    Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).

    Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).

    fromIndex

    index of the first value inclusive

    toIndex

    index of the last value exclusive

    map

    map function

    Definition Classes
    Buffer
    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

  45. final def modifyRangeWhen(fromIndex: Int, toIndex: Int, map: (T) ⇒ T, pred: (T) ⇒ Boolean): ArrayBuffer.this.type

    Permalink

    Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).

    Updates values in the range [startIndex,toIndex)^^[0,length) using the function. One of {startIndex,toIndex} must fall within range [0,length).

    fromIndex

    index of the first value inclusive

    toIndex

    index of the last value exclusive

    map

    map function

    pred

    filter function

    Definition Classes
    Buffer
    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

  46. final def moveRangeLeft(fromIndex: Int, toIndex: Int, distance: Int): ArrayBuffer.this.type

    Permalink

    Moves values in [fromIndex,toIndex) to the left at a distance, to become [fromIndex - distance, toIndex - distance), and moves right any existing values in [fromIndex - distance, fromIndex) to become [toIndex - distance, toIndex).

    Moves values in [fromIndex,toIndex) to the left at a distance, to become [fromIndex - distance, toIndex - distance), and moves right any existing values in [fromIndex - distance, fromIndex) to become [toIndex - distance, toIndex). Shifts right first if distance > fromIndex. Ignores negative distance and values outside of [0,length). Moves topIndex if affected.

    Definition Classes
    ArrayBufferLikeBuffer
  47. final def moveRangeRight(fromIndex: Int, toIndex: Int, distance: Int): ArrayBuffer.this.type

    Permalink

    Moves values in [fromIndex,toIndex) to the right at a distance, to become [fromIndex + distance, toIndex + distance), and moves left any existing values in [toIndex, toIndex + distance) to become [fromIndex, fromIndex + distance).

    Moves values in [fromIndex,toIndex) to the right at a distance, to become [fromIndex + distance, toIndex + distance), and moves left any existing values in [toIndex, toIndex + distance) to become [fromIndex, fromIndex + distance). Ignores negative distance and values outside of [0,length). Moves topIndex if affected.

    Definition Classes
    ArrayBufferLikeBuffer
  48. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  49. final def nonEmpty: Boolean

    Permalink

    Is the accessible part of the buffer non empty?

    Is the accessible part of the buffer non empty?

    Definition Classes
    Buffer
    Annotations
    @inline()
  50. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  51. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  52. final def peek(offset: Int): T

    Permalink

    Returns value at the topIndex - offset.

    Returns value at the topIndex - offset.

    Definition Classes
    Buffer
    Annotations
    @inline()
  53. final def peek: T

    Permalink

    Returns value at the topIndex.

    Returns value at the topIndex.

    Definition Classes
    Buffer
    Annotations
    @inline()
  54. final def peekOption(offset: Int): Option[T]

    Permalink

    Returns value at the topIndex - offset.

    Returns value at the topIndex - offset.

    Definition Classes
    Buffer
    Annotations
    @inline()
  55. final def pop: T

    Permalink

    Returns value at the topIndex, and moves topIndex back.

    Returns value at the topIndex, and moves topIndex back.

    Definition Classes
    Buffer
  56. final def push(value: T): ArrayBuffer.this.type

    Permalink

    Appends value to the topIndex.

    Appends value to the topIndex. Same as append

    Definition Classes
    Buffer
    Annotations
    @inline()
  57. final def remove(index: Int): ArrayBuffer.this.type

    Permalink

    Removes value at index and shifts content in [index+1, length) to the left.

    Removes value at index and shifts content in [index+1, length) to the left.

    Definition Classes
    Buffer
    Annotations
    @inline()
  58. final def removeRange(fromIndex: Int, toIndex: Int): ArrayBuffer.this.type

    Permalink

    Removes values in the range [fromIndex, toIndex) and shifts content in [toIndex, length) to the left.

    Removes values in the range [fromIndex, toIndex) and shifts content in [toIndex, length) to the left.

    Definition Classes
    Buffer
    Annotations
    @inline()
  59. final def removeWhen(pred: (T) ⇒ Boolean): ArrayBuffer.this.type

    Permalink

    Removes values matching the predicate.

    Removes values matching the predicate.

    Definition Classes
    Buffer
    Annotations
    @inline()
  60. final def replaceFromArray(index: Int, sourceIndex: Int, replaceLength: Int, sourceArray: Array[T]): ArrayBuffer.this.type

    Permalink

    Replaces current values in the range [index, index + replaceLength) with values of the array range [sourceIndex, sourceIndex + replaceLength).

    Replaces current values in the range [index, index + replaceLength) with values of the array range [sourceIndex, sourceIndex + replaceLength).

    Definition Classes
    ArrayBufferLikeBuffer
  61. final def replaceFromIterator(index: Int, replaceLength: Int, iterator: Iterator[T]): ArrayBuffer.this.type

    Permalink

    Replaces current values in the range [index, index + replaceLength) with values returned from the iterator.

    Replaces current values in the range [index, index + replaceLength) with values returned from the iterator.

    Definition Classes
    Buffer
  62. final def replaceFromSlice(index: Int, slice: Slice[T]): ArrayBuffer.this.type

    Permalink

    Replaces current values in the range [index, index + slice.length) with values of the slice.

    Replaces current values in the range [index, index + slice.length) with values of the slice.

    Definition Classes
    ArrayBufferLikeBuffer
  63. final def replaceValues(index: Int, sourceIndex: Int, replaceLength: Int, source: (Int) ⇒ T): ArrayBuffer.this.type

    Permalink

    Replaces current values in the range [index, index + replaceLength) with values returned by the function when iterating argument in the range [sourceIndex, sourceIndex + replaceLength).

    Replaces current values in the range [index, index + replaceLength) with values returned by the function when iterating argument in the range [sourceIndex, sourceIndex + replaceLength).

    Definition Classes
    Buffer
  64. final def reset: Int

    Permalink

    Resets buffer, sets topIndex to -1.

    Resets buffer, sets topIndex to -1. - Does not clear existing values.

    returns

    previous topIndex

    Definition Classes
    Buffer
  65. final def reverseIterator: Iterator[T]

    Permalink

    Returns a reverse iterator over actual buffer values, starting from the topIndex down.

    Returns a reverse iterator over actual buffer values, starting from the topIndex down.

    Definition Classes
    Buffer
  66. final def rewind(distance: Int): ArrayBuffer.this.type

    Permalink

    Moves topIndex value left by the distance.

    Moves topIndex value left by the distance.

    Definition Classes
    Buffer
  67. final def set(index: Int): ArrayBuffer.this.type

    Permalink

    Sets topIndex value.

    Sets topIndex value.

    Definition Classes
    Buffer
  68. final def shiftLeft(index: Int, distance: Int): ArrayBuffer.this.type

    Permalink

    Moves values [index, length) left to [index-distance, length - distance).

    Moves values [index, length) left to [index-distance, length - distance). Effectively removes range (index-distance, index]. Ignores negative distance. Moves topIndex if affected.

    Definition Classes
    ArrayBufferLikeBuffer
  69. final def shiftRight(index: Int, distance: Int): ArrayBuffer.this.type

    Permalink

    Moves values [index, length) right to [index+distance, length + distance).

    Moves values [index, length) right to [index+distance, length + distance). Effectively creates a new range [index, index+distance). Ignores negative distance. Does not clear existing values inside [index, index+distance). Moves topIndex if affected.

    Definition Classes
    ArrayBufferLikeBuffer
  70. final def slice(from: Int, to: Int): Slice[T]

    Permalink

    Takes range and returns a Slice.

    Takes range and returns a Slice.

    Definition Classes
    Buffer
    Annotations
    @inline()
  71. final def store(value: T): ArrayBuffer.this.type

    Permalink

    Replace value at the topIndex.

    Replace value at the topIndex.

    Definition Classes
    Buffer
  72. final def swap(first: Int, second: Int): ArrayBuffer.this.type

    Permalink

    Swap two values at the provided indexes.

    Swap two values at the provided indexes. Value at first becomes value at second, and vice versa. - Does nothing if any index falls outside [0,length) or if indexes are equal.

    Definition Classes
    Buffer
  73. final def swapRange(first: Int, second: Int, swapLength: Int): ArrayBuffer.this.type

    Permalink

    Swap values in range [first, first + swapLength) with values in range [second, second + swapLength] - Does nothing if any index falls outside [0,length), or if indexes are equal.

    Swap values in range [first, first + swapLength) with values in range [second, second + swapLength] - Does nothing if any index falls outside [0,length), or if indexes are equal. - if [first, first + swapLength) overlaps with [second, second + swapLength) then the later overwrites the former.

    Definition Classes
    ArrayBufferLikeBuffer
  74. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  75. final def tail: ArrayBuffer.this.type

    Permalink

    Returns this buffer after decrementing topIndex .

    Returns this buffer after decrementing topIndex .

    Definition Classes
    Buffer
    Annotations
    @inline()
  76. final def take(n: Int): Slice[T]

    Permalink

    Takes first N items and returns a Slice.

    Takes first N items and returns a Slice.

    Definition Classes
    Buffer
    Annotations
    @inline()
  77. final def takeRight(n: Int): Slice[T]

    Permalink

    Takes last N items and returns a Slice.

    Takes last N items and returns a Slice.

    Definition Classes
    Buffer
    Annotations
    @inline()
  78. def toArray: Array[T]

    Permalink

    Returns an Array with a copy of an accessible buffer range.

    Returns an Array with a copy of an accessible buffer range.

    Definition Classes
    ArrayBufferBuffer
  79. final def toString(): String

    Permalink
    Definition Classes
    ArrayBufferLike → Function1 → AnyRef → Any
  80. final def top: Int

    Permalink

    Returns topIndex value.

    Returns topIndex value.

    Definition Classes
    Buffer
    Annotations
    @inline()
  81. final def trim(size: Int): ArrayBuffer.this.type

    Permalink

    Trims the buffer, if needed, to be have at most the size.

    Trims the buffer, if needed, to be have at most the size.

    Definition Classes
    Buffer
  82. final def uncheckedApply(index: Int): T

    Permalink
    Attributes
    protected
    Definition Classes
    ArrayBufferLikeBuffer
    Annotations
    @inline()
  83. final def uncheckedUpdate(index: Int, value: T): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    ArrayBufferLikeBuffer
    Annotations
    @inline()
  84. def underlyingUnsafe: Array[T]

    Permalink

    Very unsafe access to the underlying array, if you really need it.

    Very unsafe access to the underlying array, if you really need it.

    Definition Classes
    ArrayBufferArrayBufferLike
    Annotations
    @inline()
  85. final def update(index: Int, value: T): ArrayBuffer.this.type

    Permalink

    Updates value at the provided index.

    Updates value at the provided index. Alters underlying array if necessary.

    Definition Classes
    ArrayBufferLikeBuffer
    Exceptions thrown

    IndexOutOfBoundsException if index lower than zero.

  86. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  87. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  88. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ArrayBufferLike[T]

Inherited from Buffer[T]

Inherited from (Int) ⇒ T

Inherited from AnyRef

Inherited from Any

Abstract

Unsafe

Update

Properties

List-like

List like operations, head is the top element

Stack-like

Stack like operations, peek takes the top element

Slice

Append

Insert

Modify

Replace

Remove

Shift

Move

Swap

Limit

Manipulations of the topIndex

Read

Ungrouped