1. Lista metod
Pamiętaj, że programiści Java napisali całą klasę pomocniczą dla wygody pracy z tablicami - Arrays
?
W przypadku kolekcji zrobili to samo. Java ma klasę java.util.Collections
, która ma wiele metod przydatnych podczas pracy z kolekcjami. Poniżej prezentujemy tylko najciekawsze z nich:
Metody | Opis |
---|---|
|
Dodaje colls elementy e1 , e2 , e3 ,... do kolekcji. |
|
Zamienia wszystkie elementy na podanej liście naobj |
|
Zwraca listę n kopii obiektuobj |
|
Zamienia list wszystkie wartości na liście oldVal nanewVal |
|
Kopiuje wszystkie elementy z listy src do listydest |
|
Odwraca listę do tyłu |
|
Sortuje listę w porządku rosnącym |
|
Cyklicznie przesuwa elementy listy list o n elementy |
|
Losowo tasuje elementy listy |
|
Znajduje minimalny element kolekcjicolls |
|
Znajduje maksymalny element kolekcjicolls |
|
Określa, ile razy element obj występuje w kolekcjicolls |
|
Wyszukuje element key w posortowanej liście, zwraca indeks. |
|
Zwraca true , jeśli kolekcje nie mają wspólnych elementów |
Wiele z tych metod działa nie z klasami ArrayList
, HashSet
i HashMap
, ale z ich interfejsami: Collection<T>
, List<T>
, Map<K, V>
.
To nie jest problem: jeśli metoda zaakceptuje List<T>
, zawsze możesz do niej przejść ArrayList<Integer>
, ale przypisanie nie działa w przeciwnym kierunku.
2. Tworzenie i modyfikowanie kolekcji
metodaCollections.addAll(Collection<T> colls, T e1, T e2, T e3, ...)
Metoda addAll()
dodaje do kolekcji colls
elementy e1
, e2
, e3
, .... Liczba przekazywanych elementów może być dowolna.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.fill(List<T> list, T obj)
Metoda fill()
zastępuje wszystkie elementy kolekcji list
elementem obj
.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.nCopies (int n, T obj)
Metoda nCopies()
zwraca listę n
kopii elementów obj
. Listę można nazwać fikcyjną (w środku nie ma prawdziwej tablicy), więc nie możesz jej zmienić! Może być tylko do odczytu.
Kod | Opis |
---|---|
|
Stwórz niezmienną listę 5 elementów Привет Stwórz prawdziwą listę list , wypełnij ją wartościami z listy fake . Na ekranie wyświetlamy:
|
metodaCollections.replaceAll (List<T> list, T oldValue, T newValue)
Metoda replaceAll()
zastępuje wszystkie elementy kolekcji list
, które są oldValue
równe newValue
.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.copy (List<T> dest, List<T> src)
Metoda copy()
kopiuje wszystkie elementy kolekcji src
do kolekcji dest
.
Jeśli kolekcja jest początkowo dest
dłuższa niż kolekcja src
, pozostałe elementy w kolekcji dest
pozostaną nietknięte.
dest
musi mieć długość nie mniejszą niż długość kolekcji src
(w przeciwnym razie zostanie zgłoszony wyjątek IndexOutOfBoundsException
).
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
3. Kolejność elementów
metodaCollections.reverse(List<T> list)
Metoda reverse()
odwraca kolejność przekazywanych do niej elementów listy.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.sort(List<T> list)
Metoda sort()
sortuje przekazaną do niej listę w porządku rosnącym.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.rotate(List<T> list, int distance)
Metoda rotate()
cyklicznie przesuwa przekazywane do niej elementy o distance
pozycje do przodu.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.shuffle(List<T> list)
Metoda shuffle()
tasuje losowo wszystkie elementy przekazanej listy. Rezultat jest za każdym razem inny.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
4. Wyszukaj pozycje w kolekcjach
metodaCollections.min(Collection<T> colls)
Metoda min()
zwraca minimalny element kolekcji.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.max(Collection<T> colls)
Metoda max()
zwraca maksymalny element kolekcji.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.frequency(Collection<T> colls, T obj)
Metoda frequency()
zlicza, ile razy colls
element występuje w kolekcjiobj
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.binarySearch(Collection<T> colls, T obj)
Metoda binarySearch()
szuka elementu obj
w kolekcji colls
. Zwraca numer znalezionego elementu. Jeśli element nie zostanie znaleziony, zwraca liczbę ujemną.
binarySearch()
należy posortować kolekcję ( Collections.sort()
).
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
metodaCollections.disjoint(Collection<T> coll1, Collection<T> coll2)
Metoda disjoint()
zwraca true
, jeśli przekazane kolekcje nie mają identycznych elementów.
Kod | Wyjście na wyświetlaczu |
---|---|
|
|
GO TO FULL VERSION