Package com.pnfsoftware.jeb.util.collect
Class Lists
java.lang.Object
com.pnfsoftware.jeb.util.collect.Lists
Collection of utility functions to create of manipulate concrete or abstract
lists
.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> void
Add (insert) the element of a collection.static <T> void
Add (insert) the element of a collection.static <T> List<T>
static <T> List<T>
addNonNulls
(List<T> dst, List<? extends T> src) static <T> List<T>
addNonNulls
(List<T> dst, T... elts) static <T extends Comparable<T>>
intInsert an element into a sorted list at its natural position.static <T> ArrayList<T>
static <T> ArrayList<T>
createArrayList
(Collection<? extends T>... colls) static <T> ArrayList<T>
createArrayList
(T elt) static <T> List<T>
fromIterator
(Iterable<T> iterable) Generate a list from an iterable.static <T> T
Get the value of a list, safely returning null if the list is null or the index out-of-range.static <T> T
Get the value of a list, safely returning a providing default value if the list s null or the index out-of-range.static <T> T
Get the first value of a list, safely returning null if the list is null or the index out-of-range.static <T extends Comparable<T>>
voidinsertIntoSortedList
(List<T> list, T elt) Insert an additional element into a pre-sorted list and keep the list sorted.static <T> void
insertIntoSortedList
(List<T> list, T elt, Comparator<T> cmp, boolean reverse) Insert an additional element into a pre-sorted list and keep the list sorted.static <T> T
Retrieve the last item of aList
.static <T,
R> List<? extends R> map
(Collection<T> input, Function<? super T, ? extends R> mapper) Apply a 1-to-1 map operation to the elements of a collection and return the list of resulting new elements.static <T> ArrayList<T>
newArrayList
(T... elts) static <T> List<T>
Reverse the provided input list.static <T> ListIterator<T>
reverseIterator
(List<T> list) Get a reverse iterator on the list.static <T> void
Rotate the elements of a list.static <T> void
Rotate the elements of a list or a portion of the elements of a list.static <T> List<T>
static <T> T
Set the element of a collection.static <T> T
Set the element of a collection.static <T> List<T>
Get a tail sub-list of a list.
-
Constructor Details
-
Lists
public Lists()
-
-
Method Details
-
addSorted
Insert an element into a sorted list at its natural position.- Type Parameters:
T
-- Parameters:
sortedList
- a sorted (natural sort) list of comparable elementselt
- the element to be inserted- Returns:
- the insertion index
-
createArrayList
-
createArrayList
-
createArrayList
-
newArrayList
-
add
-
addNonNulls
-
addNonNulls
-
subList
Get a tail sub-list of a list.- Parameters:
list
-fromIndex
-- Returns:
-
get
Get the value of a list, safely returning a providing default value if the list s null or the index out-of-range.- Parameters:
list
-index
-safeValue
-- Returns:
-
get
Get the value of a list, safely returning null if the list is null or the index out-of-range.- Parameters:
list
-index
-- Returns:
-
getFirst
Get the first value of a list, safely returning null if the list is null or the index out-of-range.- Parameters:
list
-- Returns:
-
reverseIterator
Get a reverse iterator on the list. The pointer is set to the last element of the list (if any).- Parameters:
list
-- Returns:
-
reverse
Reverse the provided input list.- Parameters:
list
- a list- Returns:
- the input list (same object), reversed
-
map
public static <T,R> List<? extends R> map(Collection<T> input, Function<? super T, ? extends R> mapper) Apply a 1-to-1 map operation to the elements of a collection and return the list of resulting new elements.- Type Parameters:
T
- type of input elementR
- type of output element- Parameters:
input
- input collectionmapper
- amap()
function- Returns:
- output list
-
set
Set the element of a collection. If the index is negative, the method throws OOB. If it is greater or equal than the current number of elements in the list, additional elements are inserted using the provided default value.- Type Parameters:
T
-- Parameters:
list
-index
-elt
-def
-
-
set
Set the element of a collection. If the index is negative, the method throws OOB. If it is greater or equal than the current number of elements in the list, additional elements are inserted using the null default value.- Type Parameters:
T
-- Parameters:
list
-index
-elt
-- Returns:
-
add
Add (insert) the element of a collection. If the index is negative, the method throws OOB. If it is greater that the current number of elements in the list, additional elements are inserted using the provided default value.- Type Parameters:
T
-- Parameters:
list
-index
-elt
-def
-
-
add
Add (insert) the element of a collection. If the index is negative, the method throws OOB. If it is greater that the current number of elements in the list, additional elements are inserted using the null default value.- Type Parameters:
T
-- Parameters:
list
-index
-elt
-
-
safe
- Type Parameters:
T
-- Parameters:
list
- input list, null- Returns:
- the input list or an empty list if the input was null
-
fromIterator
Generate a list from an iterable.- Type Parameters:
T
-- Parameters:
iterable
-- Returns:
-
insertIntoSortedList
Insert an additional element into a pre-sorted list and keep the list sorted.- Type Parameters:
T
-- Parameters:
list
- a sorted listelt
- the element to insert into the sorted list
-
insertIntoSortedList
public static <T> void insertIntoSortedList(List<T> list, T elt, Comparator<T> cmp, boolean reverse) Insert an additional element into a pre-sorted list and keep the list sorted.- Type Parameters:
T
-- Parameters:
list
- a sorted listelt
- the element to insert into the sorted listcmp
- optional comparator to be used; if null, the elements must becomparable
reverse
- false if the list is sorted in natural (ascending) order, true if the list is sorted in reverse (descending) order
-
rotate
Rotate the elements of a list.- Type Parameters:
T
-- Parameters:
list
- a listrotateForward
- if true, the elements at i are moved to i+1 (and the last element will replace the first one); else, the elements at i are moved to i-1 (and the first element will replace the last one)
-
rotate
Rotate the elements of a list or a portion of the elements of a list.- Type Parameters:
T
-- Parameters:
list
- a listrotateForward
- if true, the elements at i are moved to i+1 (and the last element will replace the first one); else, the elements at i are moved to i-1 (and the first element will replace the last one)indexFirst
- first element to rotate (included)indexLast
- last element to rotate (included), must be greater than indexFirst
-
last
Retrieve the last item of aList
.- Type Parameters:
T
-- Parameters:
list
- a list- Returns:
- the last item at index
list.size() - 1
or null if list is null or empty
-