net.sf.mmm.util.collection.base
Class AppendingList<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by net.sf.mmm.util.collection.base.AppendingList<E>
Type Parameters:
E - is the generic type of the list elements.
All Implemented Interfaces:
Iterable<E>, Collection<E>, List<E>

public class AppendingList<E>
extends AbstractList<E>

This is an implementation of the List interface that gives a read-only view on other lists that appear as if they were concatenated.
ATTENTION:
This implementation is NOT thread-safe. It may cause problems if a method is called while one of the concatenated sub-lists is modified.

Author:
Joerg Hohwiller (hohwille at users.sourceforge.net)

Field Summary
private  List<? extends E>[] lists
          the lists.
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
AppendingList(List<? extends E>... lists)
          The constructor.
 
Method Summary
 E get(int index)
          
 int size()
          
 
Methods inherited from class java.util.AbstractList
add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, removeRange, set, subList
 
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
 

Field Detail

lists

private final List<? extends E>[] lists
the lists.

Constructor Detail

AppendingList

public AppendingList(List<? extends E>... lists)
The constructor.

Parameters:
lists - is the array of lists to "concatenate" in the order of the array.
Method Detail

get

public E get(int index)

Specified by:
get in interface List<E>
Specified by:
get in class AbstractList<E>

size

public int size()

Specified by:
size in interface Collection<E>
Specified by:
size in interface List<E>
Specified by:
size in class AbstractCollection<E>


Copyright © 2001-2010 mmm-Team. All Rights Reserved.