Colecții în Java
Java Colecții sunt unul dintre pilonii Core Java. Acestea sunt utilizate în aproape orice aplicație, așa că pur și simplu trebuie să fie în măsură să utilizeze Cadrul Java Colecții în mod eficient.
Ce sunt colecțiile?
Colecții - un container, un grup de elemente care constituie un tot unitar.
De exemplu: Banca de bomboane de ciocolată, o listă de nume, etc. Colecțiile sunt utilizate în aproape fiecare limbaj de programare și Java nu este o excepție. Odată ce colecția a apărut în Java, are doar câteva clase: Vector, stivă, Hashtable, Array. Dar, în Java 1.2 a existat un cadru complet Colecții Java, pe care o vom întâlni astăzi.
Colecții în Java este format din mai multe părți

Avantajele Java cadru Colecții
Cadrul Java Colecții are următoarele avantaje:
- Este nevoie de mai puțin efort. Cadrul are mai multe tipuri comune de colecții și metode utile pentru manipularea datelor. Astfel, ne putem concentra pe logica de afaceri, mai degrabă decât dezvoltarea API-ul nostru.
- Calitate excelenta - utilizarea de colectare bine testate îmbunătățește calitatea programului nostru.
- Refolosirea și compatibilitate
interfețe colecții
Interfețe sunt baza de Java cadru Colecții. Rețineți că toate interfețele sunt generice, astfel de colectare de interfață publică
Trebuie remarcat faptul că platforma Java nu oferă interfețe separate pentru fiecare tip de colectare. În cazul în care orice operație nu este acceptată, apoi punerea în aplicare a colecției aruncă UnsupportedOperationException.
Pe scurt pentru fiecare colecție
interfață iterator (Iterator)
Iteratorul oferă metode pentru a recapitula orice colecție. Putem obține o copie a iterator din colecția folosind metoda iterator. Iteratorii vă permit să eliminați elemente din colecția de bază în timpul iterație.
Setul de interfață (Set)
Un set este o colecție care nu poate conține elemente duplicat. Această interfață reprezintă o abstracție matematică pentru a reprezenta seturi sub forma unui pachet de cărți.
Platforma Java conține trei Set de punere în aplicare. HashSet, TreeSet și LinkedHashSet.I Interface Set nu permite accesul aleatoriu la articolele din colecție. Putem folosi o buclă iterator sau foreach pentru a itera prin elementele.
Listă Interface (Lista)
Lista este un set ordonat de elemente și poate cuprinde elemente repetate. Puteți accesa orice element de index. Lista este o gamă dinamică. Lista este una dintre cele mai utilizate tipuri de colecții. ArrayList si LinkedList clase sunt punerea în aplicare a interfeței List.
Aici este un mic exemplu de utilizare:
Interfață Queue (Coadă)
Coadă - o colecție care este utilizat pentru a stoca mai multe elemente.
Coada este de obicei, dar nu în mod necesar, elementele sunt aranjate în principiu FIFO (f ima-i n, f ima-ut = First In, First Out). Coada FIFO, toate elementele noi sunt introduse în capătul cozii.
interfaţă Dequeue
Colectia Dequeue inserare element de susținere și îndepărtarea elementului de la începutul și sfârșitul colecției. Deque Numele este prescurtarea de la „coadă cu două capete“ și este de obicei pronunțat „punte“. Cele mai multe implementari nu DEQUE stabilite limite privind numărul de articole.
Această interfață definește metode pentru a accesa elementele la capetele punții. Sunt furnizate metode pentru inserare, ștergere, elementul de extracție.
Harta interfeței
Harta este un obiect care conține cheile și valorile. Harta nu poate conține duplicate de chei: Fiecare cheie poate avea o singură valoare.
Platforma Java conține trei realizări Hartă: HashMap, TreeMap și LinkedHashMap.
ListIterator interfață
ListIterator (pentru lista iterator) permite programatorului să plaseze lista în orice direcție, să modifice lista în timpul repetare, și de a obține poziția curentă a iterator din listă.
interfaţă SortedSet
SortedSet este un set în care elementele sunt stocate în ordine crescătoare.
interfaţă SortedMap
Clase de punere în aplicare a colecțiilor Java
Cadrul Java Colecții oferă o mulțime de clase cu punerea în aplicare a interfeței colecției. Cele mai utilizate comune și implementări sunt ArrayList. HashMap și HashSet. De obicei, clase care implementează colecții nu sunt thread-safe.
Mai târziu, în acest articol vom discuta despre clasele cele mai frecvent utilizate în cadrul Java Colecții.
clasa HashSet
Aceasta este o implementare de bază a setului de interfață. care se bazează pe un HashMap.
Această clasă oferă aceeași cantitate de timp, efectuarea de operațiuni de bază (adăugați, eliminați. Conține și dimensiuni). Putem stabili capacitatea inițială și factorul de încărcare pentru această colecție.
clasa TreeSet
NavigableSet se bazează pe un TreeMap. Elementele pot fi aranjate în ordinea în care sunt adăugate, sau cu ajutorul comparatorului.
Această implementare oferă un timp log (n) de rulare pentru operațiunile de bază (adăugați, eliminați și conține).
clasa ArrayList
ArrayList - punerea în aplicare a interfeței Lista la o serie de lungime variabilă. Se pune în aplicare toate operațiunile cu lista. În plus, ArrayList oferă metode de a manipula dimensiunea de matrice, care este folosit pentru a stoca lista. (Această clasă este aproximativ echivalent cu vectorul, dar nu este sincronizat).
clasa LinkedList
LinkedList - Lista de implementare și Deque interfețe sub forma unei liste de două ori legat. Efectuează toate operațiunile suplimentare listă.
clasa HashMap
HashMap este o implementare a interfeței hartă. Această implementare oferă toate operațiunile suplimentare și permite hartă valori zero și chei la valoarea nulă. Clasa HashMap Hashtable aproximativ echivalent. cu excepția faptului că nu este sincronizat și permite nul. Această clasă nu garantează plasarea ordonată a elementelor.
clasa TreeMap
TreeMap este un copac roșu-negru, pe baza NavigableMap. Harta sortat cu ajutorul unui comparator.
Această implementare oferă un jurnal (n) pentru operațiunile containsKey de rulare, pentru a primi, a pus și elimina.
clasa de coadă prioritară
În elementele coadă Doda în ordine FIFO, dar uneori doriți să adăugați elemente în funcție de prioritatea lor. În acest caz, putem folosi coadă prioritară, asigurând în același timp punerea în aplicare a comparator pentru elementele coadă prioritară. Trebuie remarcat faptul că nu vă permit coadă prioritară pentru a stoca null
clasa Colecții
Această clasă este formată exclusiv din metode statice care lucrează sau returnează colecții. Acesta conține algoritmi polimorfe care sunt utilizate atunci când se lucrează cu colecții.
Această clasă cuprinde metode de cadru algoritmi Sollection de bază, și anume metode de căutare binare, sortare, amestecare, iar metoda returneaza ordinea inversă a elementelor, și multe altele.
shell sincronizate
coajă sincron adăuga sincronizarea automată (fir-în condiții de siguranță) la o anumită colecție. Fiecare dintre cele șase colectare interfețe majore (Collection, Set, Lista, Harta, SortedSet. Și SortedMap) o metodă fabrică statică de sincronizare.