Collections Flashcards

1
Q

Collection vs Collections

A

Collection jest podstawowym interfejsem dla różnych struktur danych w Javie, takich jak listy, zestawy czy kolejki.
Collections to klasa narzędziowa, która dostarcza szereg przydatnych metod statycznych do pracy z obiektami kolekcji.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Hierarchia kolekcji

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Jakie są główne zalety korzystania z kolekcji w Javie?

A

Spójne API: API posiada podstawowy zestaw interfejsów takich jak Collection, Set, List czy Map. Wszystkie klasy (takie jak ArrayList, LinkedList, Vector itp.), które implementują te interfejsy, mają pewien wspólny zestaw metod.

Oszczędność wysiłku programistycznego: Zamiast martwić się o projekt kolekcji, programista może skupić się na tym, jak najlepiej jej użyć w swoim programie. Dzięki temu skutecznie zastosowano podstawową zasadę programowania obiektowego, czyli abstrakcję.

Poprawa prędkości i jakości programu: oferuje wydajne implementacje przydatnych struktur danych i algorytmów. Programista nie musi martwić się o optymalną implementację konkretnej struktury danych. Mogą po prostu korzystać z najlepszej implementacji, aby znacząco poprawić wydajność swojego programu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Czym jest interfejs Iterable w Javie?

A
  1. Interfejs: Iterable jest podstawowym interfejsem w Javie umożliwiającym iterację po elementach kolekcji.
    2.Główna metoda: Posiada metodę iterator(), która zwraca obiekt Iterator służący do przechodzenia przez elementy.
  2. Dla każdej pętli: Dzięki implementacji interfejsu Iterable, klasy mogą być używane w rozszerzonej pętli for-each.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ArrayList vs Vector

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

ListIterator vs Interator

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

TreeSet vs HashSet

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Comparable vs Comparator

A

-comparable - implmentujemy interfejs w klasie i tworzymy naturalny porządek na podstawie porównania pól
- comparator - możemy tworzyć różne klasy porównujące w rózny sposób a póżniej używać ich do sortowania

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

HashMap vs HashTable

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Czy HashMap może mieć null jako klucz

A
  • mogą ale nie jest to rekomendowane
  • hashcode dla null zwróci 0 więc wszystkie wartości z kluczem null bedą w tym samym bukecie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

ConcurrentHashMap

A
  • wątkowo bezpieczna mapa
  • pozwala na bezpieczny dostęp i modfyikacje mapy przez wiele wątków jednocześnie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Fail-safe vs Fail-fast iteratory

A

Fail-Fast Iteratory:
- natychmiast zgłaszają ConcurrentModificationException, gdy podczas iteracji wykryją, że struktura kolekcji została zmodyfikowana
- ArrayList HashMap
Fail-Safe Iteratory:
- nie rzucają ConcurrentModificationException nawet jeśli jest modyfikowana podczas iteracji
- ConcurrentHashMap

How well did you know this?
1
Not at all
2
3
4
5
Perfectly