Class PriorityList<E>

java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
org.apache.wiki.util.PriorityList<E>
All Implemented Interfaces:
Iterable<E>, Collection<E>, List<E>

public class PriorityList<E>
extends AbstractList<E>
Builds a simple, priority-based List implementation. The list will be sorted according to the priority. If two items are inserted with the same priority, their order is the insertion order - i.e. the new one is appended last in the insertion list.

Priority is an integer, and the list is sorted in descending order (that is, 100 is before 10 is before 0 is before -40).

  • Field Details

    • DEFAULT_PRIORITY

      public static final int DEFAULT_PRIORITY
      This is the default priority, which is used if no priority is defined. It's current value is zero.
      See Also:
      Constant Field Values
  • Constructor Details

  • Method Details

    • add

      public void add​(E o, int priority)
      Adds an object to its correct place in the list, using the given priority.
      Parameters:
      o - Object to add.
      priority - Priority.
    • add

      public boolean add​(E o)
      Adds an object using the default priority to the List.
      Specified by:
      add in interface Collection<E>
      Specified by:
      add in interface List<E>
      Overrides:
      add in class AbstractList<E>
      Parameters:
      o - Object to add.
      Returns:
      true, as per the general Collections.add contract.
    • get

      public E get​(int index)
      Returns the object at index "index".
      Specified by:
      get in interface List<E>
      Specified by:
      get in class AbstractList<E>
      Parameters:
      index - The index.
      Returns:
      The object at the list at the position "index".
    • size

      public int size()
      Returns the current size of the list.
      Specified by:
      size in interface Collection<E>
      Specified by:
      size in interface List<E>
      Specified by:
      size in class AbstractCollection<E>
      Returns:
      size of the list.