Package hudson.util

Class CopyOnWriteList<E>

  • All Implemented Interfaces:
    Iterable<E>

    public class CopyOnWriteList<E>
    extends Object
    implements Iterable<E>
    List-like implementation that has copy-on-write semantics.

    This class is suitable where highly concurrent access is needed, yet the write operation is relatively uncommon.

    Author:
    Kohsuke Kawaguchi
    • Constructor Detail

      • CopyOnWriteList

        public CopyOnWriteList​(List<E> core)
      • CopyOnWriteList

        public CopyOnWriteList()
    • Method Detail

      • add

        public void add​(E e)
      • addAll

        public void addAll​(Collection<? extends E> items)
      • remove

        public boolean remove​(E e)
        Removes an item from the list.
        Returns:
        true if the list contained the item. False if it didn't, in which case there's no change.
      • replaceBy

        public void replaceBy​(CopyOnWriteList<? extends E> that)
        Completely replaces this list by the contents of the given list.
      • replaceBy

        public void replaceBy​(Collection<? extends E> that)
        Completely replaces this list by the contents of the given list.
      • replaceBy

        public void replaceBy​(E... that)
        Completely replaces this list by the contents of the given list.
      • clear

        public void clear()
      • toArray

        public <T> T[] toArray​(T[] array)
      • getView

        public List<E> getView()
      • addAllTo

        public void addAllTo​(Collection<? super E> dst)
      • get

        public E get​(int index)
      • isEmpty

        public boolean isEmpty()
      • size

        public int size()
      • contains

        public boolean contains​(Object item)