Package ghidra.util

# Class LazyCollection<T>

java.lang.Object
ghidra.util.LazyCollection<T>

All Implemented Interfaces:
  `Iterable<T>`, `Collection<T>`

public class LazyCollection<T> extends Object implements Collection<T>

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LazyCollection(Supplier<Stream<? extends T>> streamFactory)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `add(T e)`
  `boolean`
  `addAll(Collection<? extends T> c)`
  `void`
  `clear()`
  `boolean`
  `contains(Object o)`
  `boolean`
  `containsAll(Collection<?> c)`
  `boolean`
  `isEmpty()`
  `Iterator<T>`
  `iterator()`
  `boolean`
  `remove(Object o)`
  `boolean`
  `removeAll(Collection<?> c)`
  `boolean`
  `retainAll(Collection<?> c)`
  `int`
  `size()`
  `Object[]`
  `toArray()`
  `<U> U[]`
  `toArray(U[] a)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface java.util.Collection

  `equals, hashCode, parallelStream, removeIf, spliterator, stream, toArray`

  ### Methods inherited from interface java.lang.Iterable

  `forEach`

- ## Constructor Details

  - ### LazyCollection

    public LazyCollection(Supplier<Stream<? extends T>> streamFactory)

- ## Method Details

  - ### size

    public int size()
    Specified by:
      `size` in interface `Collection<T>`

  - ### isEmpty

    public boolean isEmpty()
    Specified by:
      `isEmpty` in interface `Collection<T>`

  - ### contains

    public boolean contains(Object o)
    Specified by:
      `contains` in interface `Collection<T>`

  - ### iterator

    public Iterator<T> iterator()
    Specified by:
      `iterator` in interface `Collection<T>`
    Specified by:
      `iterator` in interface `Iterable<T>`

  - ### toArray

    public Object[] toArray()
    Specified by:
      `toArray` in interface `Collection<T>`

  - ### toArray

    public <U> U[] toArray(U[] a)
    Specified by:
      `toArray` in interface `Collection<T>`

  - ### add

    public boolean add(T e)
    Specified by:
      `add` in interface `Collection<T>`

  - ### remove

    public boolean remove(Object o)
    Specified by:
      `remove` in interface `Collection<T>`

  - ### containsAll

    public boolean containsAll(Collection<?> c)
    Specified by:
      `containsAll` in interface `Collection<T>`

  - ### addAll

    public boolean addAll(Collection<? extends T> c)
    Specified by:
      `addAll` in interface `Collection<T>`

  - ### removeAll

    public boolean removeAll(Collection<?> c)
    Specified by:
      `removeAll` in interface `Collection<T>`

  - ### retainAll

    public boolean retainAll(Collection<?> c)
    Specified by:
      `retainAll` in interface `Collection<T>`

  - ### clear

    public void clear()
    Specified by:
      `clear` in interface `Collection<T>`