Package smile.util

Class SparseArray

java.lang.Object
smile.util.SparseArray
All Implemented Interfaces:
Serializable, Iterable<SparseArray.Entry>

public class SparseArray extends Object implements Iterable<SparseArray.Entry>, Serializable
Sparse array of double values.
See Also:
  • Constructor Details

    • SparseArray

      public SparseArray()
      Constructor.
    • SparseArray

      public SparseArray(int initialCapacity)
      Constructor.
      Parameters:
      initialCapacity - the initial capacity.
    • SparseArray

      public SparseArray(List<SparseArray.Entry> entries)
      Constructor.
      Parameters:
      entries - the nonzero entries.
    • SparseArray

      public SparseArray(Stream<SparseArray.Entry> stream)
      Constructor.
      Parameters:
      stream - the stream of nonzero entries.
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • size

      public int size()
      Returns the number of nonzero entries.
      Returns:
      the number of nonzero entries
    • isEmpty

      public boolean isEmpty()
      Returns true if the array is empty.
      Returns:
      true if the array is empty.
    • iterator

      public Iterator<SparseArray.Entry> iterator()
      Specified by:
      iterator in interface Iterable<SparseArray.Entry>
    • stream

      public Stream<SparseArray.Entry> stream()
      Returns the stream of nonzero entries.
      Returns:
      the stream of nonzero entries.
    • sort

      public void sort()
      Sorts the array elements such that the indices are in ascending order.
    • get

      public double get(int i)
      Returns the value of i-th entry.
      Parameters:
      i - the index of entry.
      Returns:
      the value of entry, 0.0 if the index doesn't exist in the array.
    • set

      public boolean set(int i, double x)
      Sets or adds an entry.
      Parameters:
      i - the index of entry.
      x - the value of entry.
      Returns:
      true if a new entry added, false if an existing entry updated.
    • append

      public void append(int i, double x)
      Append an entry to the array, optimizing for the case where the index is greater than all existing indices in the array.
      Parameters:
      i - the index of entry.
      x - the value of entry.
    • remove

      public void remove(int i)
      Removes an entry.
      Parameters:
      i - the index of entry.