public class TreeList
extends java.util.AbstractList
List
implementation that is optimised for fast insertions and
removals at any index in the list.
This list implementation utilises a tree structure internally to ensure that
all insertions and removals are O(log n). This provides much faster performance
than both an ArrayList
and a LinkedList
where elements
are inserted and removed repeatedly from anywhere in the list.
The following relative performance statistics are indicative of this class:
get add insert iterate remove TreeList 3 5 1 2 1 ArrayList 1 1 40 1 40 LinkedList 5800 1 350 2 325
ArrayList
is a good general purpose list implementation.
It is faster than TreeList
for most operations except inserting
and removing in the middle of the list. ArrayList
also uses less
memory as TreeList
uses one object per entry.
LinkedList
is rarely a good choice of implementation.
TreeList
is almost always a good replacement for it, although it
does use sligtly more memory.
Constructor and Description |
---|
TreeList()
Constructs a new empty list.
|
TreeList(java.util.Collection coll)
Constructs a new empty list that copies the specified list.
|
Modifier and Type | Method and Description |
---|---|
void |
add(int index,
java.lang.Object obj)
Adds a new element to the list.
|
void |
clear()
Clears the list, removing all entries.
|
boolean |
contains(java.lang.Object object)
Searches for the presence of an object in the list.
|
java.lang.Object |
get(int index)
Gets the element at the specified index.
|
int |
indexOf(java.lang.Object object)
Searches for the index of an object in the list.
|
java.util.Iterator |
iterator()
Gets an iterator over the list.
|
java.util.ListIterator |
listIterator()
Gets a ListIterator over the list.
|
java.util.ListIterator |
listIterator(int fromIndex)
Gets a ListIterator over the list.
|
java.lang.Object |
remove(int index)
Removes the element at the specified index.
|
java.lang.Object |
set(int index,
java.lang.Object obj)
Sets the element at the specified index.
|
int |
size()
Gets the current size of the list.
|
java.lang.Object[] |
toArray()
Converts the list into an array.
|
add, addAll, equals, hashCode, lastIndexOf, subList
addAll, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toString
public TreeList()
public TreeList(java.util.Collection coll)
coll
- the collection to copyjava.lang.NullPointerException
- if the collection is nullpublic java.lang.Object get(int index)
get
in interface java.util.List
get
in class java.util.AbstractList
index
- the index to retrievepublic int size()
size
in interface java.util.Collection
size
in interface java.util.List
size
in class java.util.AbstractCollection
public java.util.Iterator iterator()
iterator
in interface java.lang.Iterable
iterator
in interface java.util.Collection
iterator
in interface java.util.List
iterator
in class java.util.AbstractList
public java.util.ListIterator listIterator()
listIterator
in interface java.util.List
listIterator
in class java.util.AbstractList
public java.util.ListIterator listIterator(int fromIndex)
listIterator
in interface java.util.List
listIterator
in class java.util.AbstractList
fromIndex
- the index to start frompublic int indexOf(java.lang.Object object)
indexOf
in interface java.util.List
indexOf
in class java.util.AbstractList
public boolean contains(java.lang.Object object)
contains
in interface java.util.Collection
contains
in interface java.util.List
contains
in class java.util.AbstractCollection
public java.lang.Object[] toArray()
toArray
in interface java.util.Collection
toArray
in interface java.util.List
toArray
in class java.util.AbstractCollection
public void add(int index, java.lang.Object obj)
add
in interface java.util.List
add
in class java.util.AbstractList
index
- the index to add beforeobj
- the element to addpublic java.lang.Object set(int index, java.lang.Object obj)
set
in interface java.util.List
set
in class java.util.AbstractList
index
- the index to setobj
- the object to store at the specified indexjava.lang.IndexOutOfBoundsException
- if the index is invalidpublic java.lang.Object remove(int index)
remove
in interface java.util.List
remove
in class java.util.AbstractList
index
- the index to removepublic void clear()
clear
in interface java.util.Collection
clear
in interface java.util.List
clear
in class java.util.AbstractList
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"