Colecții - principii de bază

  1. Grupul are de obicei un (aș spune chiar - ar trebui să aibă) un set de bază de funcții - adăuga, elimina, plimbare prin întreaga listă, pentru a primi un element. Dar, de asemenea, este nevoie de a avea caracteristici suplimentare care sunt specifice. Este acest lucru care determină varietate de clase de colectare
  2. Grupul include obiecte în marea majoritate a cazurilor de același tip (o clasă). Deși există excepții

funcționalitate de bază

  1. Un set de interfețe de bază pentru tipurile de colectare neksolkih
  2. Un set de clase pentru a pune în aplicare interfețe de bază cu caracteristici diferite „consumator“
  3. Un set de algoritmi pentru lucrul cu colecții

interfețe de bază

În documentele oficiale, acestea sunt toate enumerate, dar nu voi aduce încă pe deplin, voi scrie până la cele mai importante (în opinia mea, desigur). Ideea de bază atunci când se analizează aceste interfețe ar trebui să fie așa - foarte oameni deștepți au dezvoltat o listă de metode care sunt esențiale pentru anumite tipuri de colecții - liste, seturi, cozi, și altele. Lista are propriile sale caracteristici, mult - lui, toate - propria lor. Un set de metode pentru lista și pentru setul va fi diferit, pentru că aceste tipuri de colecții (o listă și set) au unele diferențe importante. Tratati-le ca instrumente specializate - de exemplu, pentru a strânge șuruburile trebuie shurupovoert pentru pereți din beton - performator, puțuri de foraj - șuruburi de gheață. Rețineți că toate au „o natură“, dar fiecare are o anumită specializare:

Ie Dacă doriți o colecție cu astfel de proprietăți - alege clasa care implementeaza interfata java.util.List
  • java.util.Set - interfață pentru stocarea unei multitudini. În contrast cu această interfață java.util.List pur și simplu nu pot avea aceleași elemente (metode de aspect este egal și articolul hashCode clasa bazate pe soluții), precum și ordinea elementelor de stocare din setul poate fi modificat prin adăugarea / ștergerea / element de schimbare. Problema poate apărea, de ce are nevoie de takiaya de colectare - este convenabil atunci când creați un set de elemente unice ale unor membri ai grupului
  • java.util.SortedSet - este succesorul interfața java.util.Set și funcționalitate suplimentară este alinierea automată a elementelor dintr-un set în ordine. Deoarece acest ordin este de a insista, vom vorbi mai târziu.
  • java.util.Queue - interfață oferă de a lucra cu o colecție de ambele coadă, și anume Colectia are o metodă de a adăuga elemente la un capăt și metoda de obținere a elementului de la celălalt capăt - adică un loc real pe principiul FIFO - First In First Out - în cazul în care primul venit, primul și apoi du-te departe. Pentru o gamă largă de aplicații, acest design funcționează cu colecția este structura destul de convenabil.
  • java.util.Map - design foarte convenabil, care stochează date este sub forma unei liste de valori, și sub formă de perechi cheie-valoare. Aceasta este o formă foarte popular în care aveți acces la valoarea din colectarea cheii. De exemplu, accesul la datele de utilizator pe un site se poate face prin autentificare (de exemplu, prin e-mail). Datele în sine poate fi destul de mult, dar pentru o căutare, puteți utiliza o cheie șir de caractere foarte scurt.
  • Și din nou, eu spun cel mai important lucru - colecția vă permite să lucrați cu un grup de obiecte și colecții de specializare este determinată de cerințele datelor și la acele operațiuni care trebuie să fie folosite atunci când se lucrează cu date.

    Un exemplu simplu de utilizare a colecțiilor

    articole similare