Prezentare generală colecții în Java (colecții Java-cadru), programare în Java, Android

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

Prezentare generală colecții în Java (colecții Java-cadru), programare în Java, Android

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ă. utilizarea - este o indicație a tipului de obiect pe care o colecție poate conține. Acest lucru ajută la reducerea erorilor run-time prin verificarea tipurilor de obiecte la momentul compilarii.

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.

articole similare