„Java“ kolekcija suteikia architektūrą, skirtą tvarkyti objektų grupę. Kolekcija reiškia vieną objektų vienetą. Tai leidžia mums saugoti ir valdyti objektų grupę kaip vieną vienetą.
Naudodami rinkinio sistemą galime lengvai atlikti daugybę operacijų, tokių kaip paieška, rūšiavimas, įterpimas, trynimas ir manipuliavimas objektų grupe.
„Java Collection“ sistemoje yra keletas sąsajų ir klasių. Sąsajose yra Nustatyti, Sąrašas , Eilė, Dekė , o klasėse yra ArrayList , Vektorius , LinkedList , HashSet , Medžių rinkinys , LinkedHashSet , ir PriorityQueue .
mašinraščio datos tipas
Šiame skyriuje mes išskirsime du elementus Kolekcijos sistema , kuris yra Sąrašas ir ArrayList. Sąrašas yra sąsaja, o ArrayList yra klasė.
Sąrašo sąsaja
Sąrašas yra antrinė Kolekcijos sistemos sąsaja, leidžianti išlaikyti tvarkingą objektų rinkinį. Pasikartojančias vertes ir nulinius elementus galime saugoti naudodami sąrašą. Tai suteikia indeksu pagrįstą metodą objektų įterpimo, ištrynimo, paieškos ir atnaujinimo operacijoms atlikti.
Sąrašo sąsaja yra java.util pakete. Jis įgyvendina ArrayList, LinkedList, Stack ir Vector klases. Tai taip pat yra ListIterator klasių bazė, kurią naudodami galime kartoti sąrašą pirmyn ir atgal.
Sąrašo sąsaja suteikia prieigą prie elementų padėties ir įterpimo bei išsaugo įterpimo tvarką. Sąrašo egzempliorius gali būti sukurtas naudojant diegimo klases.
Sąrašo įgyvendinimas:
List sąsają galime įdiegti naudodami ArrayList, LinkedList, Vector ir Stack klases .
Norėdami sukurti sąrašo sąsają, galime naudoti šias sintakses:
List list1= new ArrayList(); List list2 = new LinkedList(); List list3 = new Vector(); List list4 = new Stack();
Apsvarstykite toliau pateiktą sąrašo pavyzdį:
import java.util.*; public class JavaListExample { public static void main(String[] args) { List l = new ArrayList(); //Implementation of List l using ArrayList class l.add('Hello'); //adding objects l.add('Java'); l.add('Tpoint'); System.out.println(l); } }
Išvestis:
padaryti sh scenarijų vykdomąjį
[Hello, Java, Tpoint]
ArrayList klasė
„ArrayList“ klasė elementams saugoti naudoja dinaminį masyvą. „ArrayList“ klasė veikia kaip masyvas, tačiau joje nėra dydžio apribojimų. Kai tik norime, galime pridėti arba pašalinti elementus. Pasikartojantį elementą galime saugoti naudodami ArrayList klasę. Jis valdo įterpimo tvarką viduje.
„ArrayList“ klasė yra daug lankstesnė nei tradicinis masyvas. Tai įgyvendina sąrašo sąsają, kad būtų naudojami visi sąrašo sąsajos metodai. Tai vyksta Java .util paketas.
ArrayList klasė paveldi AbstractList klasę ir įgyvendina sąrašo sąsają. Jo elementus galima pasiekti atsitiktine tvarka. Jis negali būti naudojamas primityviems tipams, tokiems kaip int, char ir kt.; šiems duomenų tipams mums reikia įpakavimo klasės.
„ArrayList“ diegimas:
ArrayList klasė paveldi visus AbstractList klasės metodus ir įgyvendina List sąsają.
ArrayList klasę galima deklaruoti taip:
public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, Serializable
ArrayList galima apibrėžti taip:
ArrayList myList = new ArrayList();
Apsvarstykite toliau pateiktą ArrayList pavyzdį:
import java.util.*; public class JavaAL { public static void main(String[] args) { ArrayList l = new ArrayList(); //implementation of ArrayList l.add('Hello'); //adding objects l.add('Java'); l.add('Tpoint'); System.out.println(l); } }
Išvestis:
[Hello, Java, Tpoint]
Kai kurie pagrindiniai skirtumai tarp sąrašo sąsajos ir „ArrayList“ klasės
Kai kurie pagrindiniai skirtumai tarp sąrašo ir „ArrayList“ yra šie:
- Vienas iš pagrindinių skirtumų yra tas Sąrašas yra sąsaja, o ArrayList yra klasė „Java Collection“ sistemos.
- The Sąrašas praplečia rinkimo sistemą , palyginus ArrayList išplečia AbstractList klasę ir įgyvendina List sąsają .
- Sąrašo ir ArrayList vardų erdvė yra atitinkamai System.Collection.Generic ir System Collection.
- Sąrašas saugo elementus seka ir yra identifikuojamas pagal individualų indekso numerį. Palyginimui, ArrayList saugo elementus dinaminiame masyve; jis gali augti, kai reikia.
Kai apibrėžiame sąrašą taip:
List myList = new ArrayList();
Tai reiškia, kad metodus ir nuorodas galime iškviesti tik iš sąrašo sąsajos.
Jei apibrėžiame ArrayList taip:
kaip nustatyti monitoriaus dydį
ArrayList myList = new ArrayList();
Tai reiškia, kad galime iškviesti turimus ArrayList metodus ir naudoti jo narius be sąrašo.
Apsvarstykite toliau pateiktą lentelę, kad galėtumėte palyginti kai kuriuos sąrašus ir „ArrayList“:
Palyginimo bazė | Sąrašas | ArrayList |
---|---|---|
Generolas | Tai sąsaja. | Tai klasė. |
Darbas | Jis sukuria objektų, kuriuos galima pasiekti naudojant individualų indekso numerį, sąrašą. | Tai sukuria dinaminį masyvą, kurį prireikus galima išplėsti. |
Įgyvendinimas | List list1= new ArrayList(); | ArrayList myList = naujas ArrayList(); |
Išplėsti/įdiegti | Tai praplečia rinkimo sistemą. | Jis išplečia AbstractList klasę ir įgyvendina List sąsają. |
Bazinis paketas | java.util | java.util |
Vardų erdvė | Sistema.Kolekcija.Bendra | Sistema.Kolekcija |
Spektaklis | Tai leidžia greičiau valdyti objektus. | Tai leidžia lėtai valdyti objektus, palyginti su sąrašu. |
Instantiacija | Jis negali būti kartojamas. | Jis gali būti momentinis |
Išvada
Sąrašas yra sąsaja, o „ArrayList“ yra „Java Collection“ sistemos klasė. Sąrašas sukuria statinį masyvą, o ArrayList sukuria dinaminį masyvą objektams saugoti. Taigi sąrašo negalima išplėsti, kai jis yra sukurtas, bet naudojant ArrayList, galime išplėsti masyvą, kai reikia.
Jei norite pasinaudoti polimorfizmu, geriau naudoti sąrašo sąsają. Ateityje, jei mums reikės įdiegti sąsają, programos keisti nereikės.