net.ranides.assira.collection
Class CollectionUtils

java.lang.Object
  extended by net.ranides.assira.collection.CollectionUtils

public final class CollectionUtils
extends Object

Generyczne operacje na kolekcjach. Jeśli to możliwe, korzystać z innych klas dedykowanych dla konkretnego typu kolekcji, ponieważ poniższe metody opierają się głównie na iteratorach i często mają bardzo kiepską złożoność rzędu O(N)

Author:
ranides

Method Summary
static
<T,S> Collection<T>
adapt(Collection<S> collection, Function<T,S> function)
          Zwraca kolekcję transformującą leniwie elementy za pomocą podanej funkcji odwzorującej.
static
<T,S> Iterator<T>
adapt(Iterator<S> iterator, Function<T,S> function)
          Zwraca iterator transformujący leniwie elementy za pomocą podanej funkcji odwzorującej.
static
<T> Collection<T>
asCollection(int size, Iterable<T> iterable)
          Konwertuje podany obiekt iterable na kolekcję o rozmiarze równym size.
static
<T> Collection<T>
clip(Collection<T> values, int size)
          Przycina kolekcję jeśli kolekcja ma rozmiar większy od podanej granicy.
static
<T> boolean
equalContent(Collection<T> a, Collection<T> b)
          Sprawdza, czy kolekcje zawierają te same elementy ignorując kolejność.
static
<T1,T2> boolean
equalSize(Collection<T1> a, Collection<T2> b)
          Sprawdza, czy kolekcje mają ten sam rozmiar.
static
<T> T
first(Collection<?> values, Class<T> clazz)
          Wyszukuje i zwraca pierwszy obiekt o klasie T, lub null, jeśli takiej wartości brak null safe method
static
<T> T
first(Collection<T> values)
          Wyszukuje i zwraca pierwszy obiekt w kolekcji, lub null, jeśli kolekcja pusta.
static Object first(Object values)
          Jeśli obiekt jest kolekcją lub iteratorem zwraca pierwszy element.
static
<T> T
get(Collection<T> values, int index)
          Pobiera index-ty element z kolekcji, lub zwraca null, jeśli kolekcja ma mniejszy rozmiar niż konieczne.
static
<T> T
get(Collection<T> values, int index, T ddefault)
          Pobiera index-ty element z kolekcji, lub zwraca wartość domyślną, jeśli kolekcja ma mniejszy rozmiar niż konieczne.
static
<T> boolean
isEmpty(Collection<T> values)
          Sprawdza czy kolekcja jest pusta.
static
<T> T
last(Collection<?> values, Class<T> clazz)
          Wyszukuje i zwraca ostatni obiekt o klasie T, lub null, jeśli takiej wartości brak.
static
<T> T
last(Collection<T> values)
          Wyszukuje i zwraca pierwszy obiekt w kolekcji, lub null, jeśli kolekcja pusta null safe method
static Object last(Object values)
          Jeśli obiekt jest kolekcją lub iteratorem zwraca pierwszy element.
static
<T> int
size(Collection<T> values)
          Zwraca rozmiar kolekcji.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

get

public static <T> T get(Collection<T> values,
                        int index,
                        T ddefault)
Pobiera index-ty element z kolekcji, lub zwraca wartość domyślną, jeśli kolekcja ma mniejszy rozmiar niż konieczne.
null safe method

Type Parameters:
T -
Parameters:
values -
index -
ddefault -
Returns:

get

public static <T> T get(Collection<T> values,
                        int index)
Pobiera index-ty element z kolekcji, lub zwraca null, jeśli kolekcja ma mniejszy rozmiar niż konieczne.
null safe method

Type Parameters:
T -
Parameters:
values -
index -
Returns:

first

public static <T> T first(Collection<?> values,
                          Class<T> clazz)
Wyszukuje i zwraca pierwszy obiekt o klasie T, lub null, jeśli takiej wartości brak
null safe method

Type Parameters:
T -
Parameters:
values - kolekcja, w której obiekt klasy jest szukany
clazz - szukana klasa
Returns:

first

public static <T> T first(Collection<T> values)
Wyszukuje i zwraca pierwszy obiekt w kolekcji, lub null, jeśli kolekcja pusta.
null safe method

Type Parameters:
T -
Parameters:
values - kolekcja, z której obiekt jest zwracany
Returns:

first

public static Object first(Object values)
Jeśli obiekt jest kolekcją lub iteratorem zwraca pierwszy element. Jeśli innym obiektem, zwraca po prostu ten obiekt. Jeśli kolekcja jest pusta - zwraca null.
null safe method

Parameters:
values - kolekcja, iterator lub zwykły obiekt
Returns:
psuedo-pierwszy element

last

public static <T> T last(Collection<?> values,
                         Class<T> clazz)
Wyszukuje i zwraca ostatni obiekt o klasie T, lub null, jeśli takiej wartości brak.
null safe method

Type Parameters:
T -
Parameters:
values - kolekcja, w której obiekt klasy jest szukany
clazz - szukana klasa
Returns:

last

public static <T> T last(Collection<T> values)
Wyszukuje i zwraca pierwszy obiekt w kolekcji, lub null, jeśli kolekcja pusta
null safe method

Type Parameters:
T -
Parameters:
values - kolekcja, z której obiekt jest zwracany
Returns:

last

public static Object last(Object values)
Jeśli obiekt jest kolekcją lub iteratorem zwraca pierwszy element. Jeśli innym obiektem, zwraca po prostu ten obiekt. Jeśli kolekcja jest pusta - zwraca null.
null safe method

Parameters:
values - kolekcja, iterator lub zwykły obiekt
Returns:
psuedo-pierwszy element

size

public static <T> int size(Collection<T> values)
Zwraca rozmiar kolekcji.
null safe method

Type Parameters:
T -
Parameters:
values -
Returns:

isEmpty

public static <T> boolean isEmpty(Collection<T> values)
Sprawdza czy kolekcja jest pusta.
null safe method

Type Parameters:
T -
Parameters:
values -
Returns:

equalSize

public static <T1,T2> boolean equalSize(Collection<T1> a,
                                        Collection<T2> b)
Sprawdza, czy kolekcje mają ten sam rozmiar. Kolekcje, które są równe null traktowane są jako puste (rozmiar 0).
null safe method

Type Parameters:
T1 -
T2 -
Parameters:
a -
b -
Returns:

equalContent

public static <T> boolean equalContent(Collection<T> a,
                                       Collection<T> b)
Sprawdza, czy kolekcje zawierają te same elementy ignorując kolejność. Uwaga: bardzo kosztowna metoda, ponieważ kopiuje a następnie sortuje obie kolekcje.

Type Parameters:
T -
Parameters:
a -
b -
Returns:

clip

public static <T> Collection<T> clip(Collection<T> values,
                                     int size)
Przycina kolekcję jeśli kolekcja ma rozmiar większy od podanej granicy.

Type Parameters:
T -
Parameters:
values -
size - maksymalny rozmiar kolekcji
Returns:
"view" kolekcji podanej jako argument. Modyfikacja obciętej kolekcji ma wpływ na kolekcję źródłową.

asCollection

public static <T> Collection<T> asCollection(int size,
                                             Iterable<T> iterable)
Konwertuje podany obiekt iterable na kolekcję o rozmiarze równym size. Ponieważ na podstawie iteratora nie można wydedukować rozmiaru zbioru, podana wartość size musi być odpowiednia, tzn nie może być większa niż ilość elementów zwróconych przez iterator.

Type Parameters:
T -
Parameters:
size -
iterator -
Returns:

adapt

public static <T,S> Iterator<T> adapt(Iterator<S> iterator,
                                      Function<T,S> function)
Zwraca iterator transformujący leniwie elementy za pomocą podanej funkcji odwzorującej.

Type Parameters:
T -
S -
Parameters:
iterator -
function -
Returns:

adapt

public static <T,S> Collection<T> adapt(Collection<S> collection,
                                        Function<T,S> function)
Zwraca kolekcję transformującą leniwie elementy za pomocą podanej funkcji odwzorującej.

Type Parameters:
T -
S -
Parameters:
collection -
function -
Returns:


Copyright © 2013. All Rights Reserved.