Paveikslėlis leidžia pamatyti „Java“ kolekcijos klasę („Java“ kolekcijos klasių santrauka)

Picture Lets You See Java Collection Class



Yra daug straipsnių apie „Java“ kolekcijų klases, tačiau neseniai pamačiau labai įdomų vaizdą, iš esmės parodantį bendrą „Java“ kolekcijos struktūrą. Labai intuityvus.



Tarkime, kad pastebite, kad vaizdas nėra aiškus. Norėdami pamatyti didesnį vaizdą, spustelėkite čia



Čia kolekcijos klasė yra suskirstyta į dvi pagrindines kategorijas: Žemėlapis ir Kolekcija.



Keturios pilkos spalvos, esančios viršutiniame kairiajame vaizdo kampe, klasės (žodynas, „HashTable“, „Vector“, „Stack“) yra saugios siūlams, tačiau visos jos yra senos JDK senosios klasės. Iš esmės jie nėra labai naudojami, ir yra atitinkamų pakaitalų klasių. Žemėlapis naudojamas abstrakčiai žodyno klasei pakeisti viršutiniame kairiajame vaizdo kampe (oficialiame žemėlapio dokumente yra apibūdinimas )。

Oficiali rekomendacija naudoti „Map“ sąsają jai pakeisti. Tas pats ir „HashTable“. Oficiali „ConcurrentHashMap“ rekomendacija yra ją pakeisti. Tada šis „Vector“ yra įgyvendinimo klasė žemiau sąrašo.

Tada viršutinė rausva dalis yra visa kolekcijos klasės sąsajos schema.



Žemėlapio struktūra yra gana paprasta, o kolekcijos struktūra yra gana sudėtinga. Kolekcijoje yra trys paveldimos sąsajos: sąrašas, eilė ir rinkinys.

Kita žalioji dalis yra pagrindinė kolekcijos klasės įgyvendinimo klasė.

Tai taip pat dažniausiai naudojama kolekcijos klasė.

pagal Įgyvendinimo sąsaja klasifikacija:

Žemėlapio sąsaja įgyvendinama taip: „EnumMap“, „IdentityHashMap“, „HashMap“, „LinkedHashMap“, „WeakHashMap“, „TreeMap“.

Sąrašo sąsaja įgyvendinama taip: ArrayList, LinkedList

„Set“ sąsajos įgyvendinimas yra: „HashSet“, „LinkedHashSet“, „TreeSet“

Eilės sąsaja įgyvendinama taip: „PriorityQueue“, „LinkedList“, „ArrayQueue“

pagal Pagrindinis duomenų struktūros įgyvendinimas klasifikacija:

Pagrindinis sluoksnis įgyvendinamas kaip masyvas: EnumMap, ArrayList, ArrayQueue
Pagrindinis sluoksnis įgyvendinamas kaip susietas sąrašas: „LinkedHashSet“, „LinkedList“, „LinkedHashMap“
Pagrindinis diegimas įgyvendinamas kaip maišos lentelė: „HashMap“, „HashSet“, „LinkedHashMap“, „LinkedHashSet“, „WeakHashMap“, „IdentityHashMap“
Pagrindinis sluoksnis įgyvendinamas kaip raudonai juodas medis: TreeMap, TreeSet
Pagrindinis sluoksnis įgyvendinamas kaip dvejetainis kaupas: „PriorityQueue“

Svarbiausia dalis yra java.util.concurrent paketo klasė. Pagal paketo pavadinimą galime žinoti, kad šio paketo klasės naudojamos tvarkant įvairius Java programavimo scenarijus.

Priemonės rekomendacija: http://grepcode.com/.

Perskaitykite kodo artefaktą. Ši šaltinio kodo skaitymo svetainė apima ne tik didžiąją „Java“ klasės bibliotekos šaltinio kodą, bet ir labai gerą žvilgsnio, šuolio ir pan. Optimizavimą šaltinio kodo viduryje. Su juo galite užtikrinti, kad jūsų šaltinio kodo skaitymo efektyvumas bus žymiai pagerintas.

ačiū : https://www.cnblogs.com/mengfanrong/p/5079533.html