Przejdź do głównej zawartości

Java Collection - Kolekcje w Java

Podział kolekcji w Java-ie:

Implementowane są interfejsy kolor zielony w klasach kolor fiolet




Kolekcje mogą być generyczne i niegeneryczne
  • generyczne - zdefiniowany typ jaki będą przechowywać
  • niegeneryczne - przechowują wszystko co do nich wpadnie co w nich umieścimy
ArrayList:
  • wolniejsze w manipulacji
  • elementy sa obok siebie
  • wolne dodawanie elementów
LinkedList:
  • szybkie umieszczanie obiektów
  • wolniejsze odczytywanie szukanie
Linkedlist – dodawanie elementów tam gdzie jest miejsce w pamięci i jednoczesne dodawanie referencji gdzie ten element się znajduje, to jest plus w kontekście ArrayList która musi przenieść cały ArrayList jeśli braknie miejsca. LinkedList pamięta referencje do lokowanych obiektów.

Obiekt w LinkedList jest jakby opakowywany tj zawiera informacje nie tylko o sobie ale również posiada referencje do poprzednika i następnika. 

Obiekt w LinkedList zawiera: 
  • Obiekt sam w sobie 
  • Ref do następnika 
  • Ref do poprzednika 
Wrappery - obiekt, który ma otoczyć dany obiekt i rozszerzyć jego funkcjonalność.


Dzięki temu że odwołujemy się do typu wyższego otrzymujemy elastyczność jeśli będzie trzeba zamienić ArrayList na LinkedList lub odwrotnie: 


private List<Book> bookList = new LinkedList<>();

ArrayList-y można ze sobą łączyć z wykorzystaniem metody .add


Generycznosć w ArrayLilst dotyczy typów obiektowych nie można zrobić czegoś takiego jak  

List<int> trzeba stosować List<Integer> 

int typu małe literały

Iteger – typ obiektowy

public final class Integerextends Numberimplements Comparable<Integer> 

The Integer class wraps a value of the primitive type int in an object. An object of type Integer contains a single field whose type is int. 

In addition, this class provides several methods for converting an int to a String and a String to an int, as well as other constants and methods useful when dealing with an int. 


Komentarze

Popularne posty z tego bloga

Skrócony zapis if - instrukcja warunkowa java

Instrukcja warunkowa - warunek i rezultat. if (warunek) { jesli spełniony wykonań operacje i zwróć wynik; } warunek nie spełniony Możliwości skrócenia kodu instrukcji warunkowej if (i < 0) ? i-- : i++; Jeżeli i mniejsze od zera to i-- jezeli false to i++ if (i < 0) {     i--; } else {     i++; } Skrócony zapis instrukcji warunkowej else if (i < 0) ? i--;  inna_zmienna=4; : i++; if (i < 0) {     i--; } else {     i++;     inna_zmienna = 4; } Skrócony zapis if

wait and notify() Methods in Java - rekrutacja

Synchronizacja wątków. Procesor może wykonywać wiele zadań jednoczenśnie - concurrent software. Java wspiera współbieżność jest potrzebna synchronizacja ponieważ różne wątki threads mogą w tym samym czasie usiłować zmodyfikować ten sam zasób jeśli nie są zarządzane poprawinie. Object.wait() - zawiesza wątek - thread suspension Object.notify() - wznów wątek - thread wake up Object.notifyAll() - wznowienie wszystkich wątków

Runnable and Call able - Java rekrutacja

Runnable - interfejs zawierający metode run() - obiekt implementujący tą metodę tworzy wątek thread public interface Runnable The Runnable interface should be implemented by any class whose instances are intended to be executed by a thread. The class must define a method of no arguments called run. This interface is designed to provide a common protocol for objects that wish to execute code while they are active. For example, Runnable is implemented by class Thread. Being active simply means that a thread has been started and has not yet been stopped.  In addition, Runnable provides the means for a class to be active while not subclassing Thread. A class that implements Runnable can run without subclassing Thread by instantiating a Thread instance and passing itself in as the target. In most cases, the Runnable interface should be used if you are only planning to override the run() method and no other Thread methods. This is important because classes should not be subclas...