Šajā apmācībā mēs uzzināsim par Vector klasi un kā to izmantot. Mēs arī uzzināsim, kā tas atšķiras no klases ArrayList, un kāpēc mums tā vietā vajadzētu izmantot masīvu sarakstus.
VectorKlase ir īstenot Listinterfeiss, kas ļauj mums izveidot resizable masīvi līdzīgas ArrayList klasē.
Java Vector pret ArrayList
Java, gan ArrayListun Vectorīsteno Listsaskarnes un nodrošina tādas pašas funkcijas. Tomēr starp tām pastāv dažas atšķirības.
VectorKlase sinhronizē katru atsevišķo operāciju. Tas nozīmē, ka ikreiz, kad mēs vēlamies veikt kādu darbību ar vektoriem, Vectorklase šai operācijai automātiski pielieto bloķēšanu.
Tas ir tāpēc, ka tad, kad viens pavediens piekļūst vektoram un tajā pašā laikā cits pavediens mēģina tam piekļūt, ConcurrentModificationExceptiontiek ģenerēts izņēmums, ko sauc . Tādējādi šī nepārtrauktā bloķēšanas izmantošana katrai darbībai vektorus padara mazāk efektīvus.
Tomēr masīvu sarakstos metodes netiek sinhronizētas. Tā vietā tā izmanto Collections.synchronizedList()metodi, kas sinhronizē sarakstu kopumā.
Piezīme: Ieteicams lietot ArrayListvietā Vector, jo vektori nav threadsafe un ir mazāk efektīvi.
Vektora izveide
Lūk, kā mēs varam izveidot vektorus Java.
Vector vector = new Vector();
Šeit tips norāda saistītā saraksta veidu. Piemēram,
// create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector();
Vektora metodes
VectorKlase nodrošina arī ar maināmu-masīva realizācijas no Listsaskarnes (līdzīgi kā ArrayListklasē). Dažas no Vectormetodēm ir:
Pievienojiet elementus vektoram
add(element)- pievieno elementu vektoriemadd(index, element)- pievieno elementu norādītajai pozīcijaiaddAll(vector)- pievieno visus vektora elementus citam vektoram
Piemēram,
import java.util.Vector; class Main ( public static void main(String() args) ( Vector mammals= new Vector(); // Using the add() method mammals.add("Dog"); mammals.add("Horse"); // Using index number mammals.add(2, "Cat"); System.out.println("Vector: " + mammals); // Using addAll() Vector animals = new Vector(); animals.add("Crocodile"); animals.addAll(mammals); System.out.println("New Vector: " + animals); ) )
Rezultāts
Vektors: (suns, zirgs, kaķis) jauns vektors: (krokodils, suns, zirgs, kaķis)
Piekļūstiet vektora elementiem
get(index)- atgriež indeksā norādīto elementuiterator()- atgriež iteratora objektu, lai secīgi piekļūtu vektora elementiem
Piemēram,
import java.util.Iterator; import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); // Using get() String element = animals.get(2); System.out.println("Element at index 2: " + element); // Using iterator() Iterator iterate = animals.iterator(); System.out.print("Vector: "); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) )
Rezultāts
2. rādītāja elements: kaķu vektors: suns, zirgs, kaķis,
Noņemt vektoru elementus
remove(index)- noņem elementu no norādītās pozīcijasremoveAll()- noņem visus elementusclear()- noņem visus elementus. Tas ir efektīvāks nekāremoveAll()
Piemēram,
import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); System.out.println("Initial Vector: " + animals); // Using remove() String element = animals.remove(1); System.out.println("Removed Element: " + element); System.out.println("New Vector: " + animals); // Using clear() animals.clear(); System.out.println("Vector after clear(): " + animals); ) )
Rezultāts
Sākotnējais vektors: (suns, zirgs, kaķis) noņemtais elements: zirgs jauns vektors: (suns, kaķis) vektors pēc notīrīšanas (): ()
Citas vektoru metodes
| Metodes | Apraksti |
|---|---|
set() | maina vektora elementu |
size() | atgriež vektora lielumu |
toArray() | pārveido vektoru masīvā |
toString() | pārveido vektoru par virkni |
contains() | meklē vektorā norādīto elementu un atgriež Būla rezultātu |








