Wektor w Javie | Klasa wektora Java z przykładami

Opublikowany: 2021-05-26

W programowaniu jedną z najczęściej używanych struktur danych jest Vector w Javie. Tablice to statyczne struktury danych, które mogą liniowo przechowywać dane. Podobnie wektory w javie również przechowują dane liniowo, ale nie są ograniczone do stałego rozmiaru. Zamiast tego jego rozmiar może rosnąć lub zmniejszać się zgodnie z wymaganiami. Klasą nadrzędną jest klasa AbstractList i jest zaimplementowana w interfejsie List.

Zanim zaczniesz używać wektorów, zaimportuj je z pakietu java.util.package w następujący sposób:

import java.util.Vector

Spis treści

Deklaracja i ocena elementów wektora

Oto jak deklarowany jest wektor w javie:

public class Vector<V> rozszerza AbstractList<V>

implementuje List<V>, RandomAccess, Cloneable, Serializable

Tutaj V jest typem elementu, którym może być int, string, char itp.

Tak jak uzyskujemy dostęp do elementów danych w tablicach, możemy to zrobić również w wektorach, używając indeksu elementu. Na przykład do drugiego elementu Vector E można uzyskać dostęp jako E[2].

Niektóre typowe błędy popełniane podczas deklarowania wektora w javie:

  • IllegalArgumentException jest zgłaszany, jeśli początkowy rozmiar wektora jest wartością ujemną
  • NullPointerException jest generowany, jeśli określona kolekcja ma wartość null
  • Wielkość wektora jest mniejsza lub równa pojemności wektora
  • Wydajność jest podwajana w każdym cyklu przyrostowym, jeśli nie określono przyrostu wektora

Konstruktorzy

1. Wektor(int InitialCapacity, int Increment)

Tworzy to wektor w java z początkową pojemnością określoną, a przyrost jest również określony. W przypadku przyrostu określana jest liczba elementów alokowanych za każdym razem, gdy rozmiar wektora jest zmieniany w górę.

Składnia: Wektor<V> e = new Wektor<V>(int początkowa pojemność, int przyrost);

2. Wektor(int InitialCapacity)

Tworzy wektor w javie o początkowej pojemności równej określonemu rozmiarowi.

Składnia: Vector<V> e = new Vector<V>(int InitialCapacity);

3. Wektor ()

Tworzy wektor w javie z początkową domyślną pojemnością 10.

Składnia: Wektor<V> e = nowy Wektor<V>();

4. Wektor(Kolekcja c)

Tworzy wektor w javie, którego elementy są elementami kolekcji c.

Składnia: Wektor<V> e = nowy Wektor<V>(Kolekcja c);

Oto przykład demonstrujący tworzenie i używanie wektora w javie:

Kod

import java.util.*;

klasa publiczna Główna{

public static void main(String[] args)

{

// Utwórz domyślny wektor

Wektor a = nowy Wektor();

// Utwórz wektor o określonym rozmiarze

Wektor b = nowy wektor (20);

// Utwórz wektor o określonym rozmiarze i przyroście

Wektor c = nowy wektor(30,10);

b.dodaj(100);

b.dodaj(200);

b.dodaj(300);

// Utwórz wektor z określoną kolekcją

Wektor d = nowy wektor (b)

System.out.println(„Wektor a pojemności ” + a.capacity());

System.out.println(„Wektor b pojemności ” + b.capacity());

System.out.println(„Wektor c pojemności ” + c.capacity());

System.out.println(„Wektor d pojemności ” + d.capacity());

}}

Wyjście

Uwaga: .capacity() służy do zwracania pojemności wektora.

Wektor w javie ma trzy chronione parametry w następujący sposób:

1. Int elementCount()- Mówi o liczbie elementów, które zawiera wektor

2. Int capcityIncremen()- Gdy rozmiar wektora staje się większy niż pojemność, pojemność jest automatycznie zwiększana o to.

3. Object[] elementData()- Elementy wektora są przechowywane w tablicy.

Metody

Oto kilka często używanych metod wektorów w javie:

1. Dodaj elementy

Boolean add(Object o)- Element jest dołączany na końcu wektora

Void add(int index V element)- Dany element jest dodawany do określonego indeksu w wektorze

Kod dodawania elementów w Vector w java:

import java.util.*;

importuj java.io.*;

klasa publiczna AddElementsToVector {

public static void main(String[] arg)

{

// Utwórz domyślny wektor

Wektor a = nowy Wektor();

// Dodawanie elementów za pomocą metody add()

a.dodaj(1);

dodaj(2);

a.dodaj("vect");

a.dodaj(„dla”);

a.dodaj(3);

System.out.println(„Wektor a to ” + a);

// Utwórz ogólny wektor

Wektor<Integer> b = nowy Wektor<Integer>();

b.dodaj(0);

b.dodaj(1);

b.dodaj(2);

System.out.println(„Wektor b to ” + b);

}

}

Wyjście

2. Usuń elementy

Boolean Remove(object o) – służy do usuwania elementu o określonym indeksie w wektorze

Gdy element jest usuwany, wszystkie elementy są przesuwane w lewo, aby wypełnić spacje; indeksy są następnie aktualizowane.

Kod ilustrujący usuwanie elementów z wektora w javie:

import java.util.*;

importuj java.io.*;

klasa publiczna Usuń {

public static void main(String[] arg)

{

// Utwórz domyślny wektor

Wektor a = nowy Wektor();

// Dodawanie elementów za pomocą metody add()

a.dodaj(1);

dodaj(2);

a.dodaj("vect");

a.dodaj(„dla”);

a.dodaj(4);

// Usuń element

a.usuń(2);

// Sprawdzać

System.out.println(„po usunięciu: ” + a);

}

}

Wyjście

Zamówienie: Jak zrobić udaną karierę w Javie?

3. Zmień elementy

Metoda set() może służyć do zmiany elementu po dodaniu elementów. Do indeksu elementu można się odwoływać, gdy indeksowany jest wektor. Ta metoda pobiera indeks i zaktualizowany element.

Kod do zmiany elementów wektora w java

import java.util.*;

Aktualizacja klas publicznych {

public static void main(String args[])

{

// Utwórz pusty wektor

Wektor<Integer> a = nowy Wektor<Integer>();

// Dodaj elementy

a.dodaj(1);

dodaj(2);

a.dodaj(3);

dodaj(10);

dodaj(20);

// Wyświetlacz

System.out.println(„Wektor: ” + a);

// Zastępować

System.out.println("Zastępowanie"

+ zestaw(0, 22));

System.out.println("Zastępowanie"

+ zestaw(4, 50));

// Wyświetl zmodyfikowany wektor

System.out.println("Nowy wektor to:" + a);

}

}

Wyjście

4. Iteruj wektor

Istnieje kilka sposobów na przechodzenie przez wektor w pętli. Jednym z nich jest metoda get(). Oto program do iteracji elementów w wektorze w java:

import java.util.*;

klasa public iteracja {

public static void main(String args[])

{

// tworzenie instancji wektora

Wektor<String> a = nowy Wektor<>();

// Dodaj elementy za pomocą metody add()

a.dodaj(„wektor”);

a.dodaj(„w”);

a.dodaj(1, „java”);

// Użyj metody Get i pętli for

for (int i = 0; i < a.size(); i++) {

System.out.print(a.get(i) + ” “);

}

System.out.println();

// Użyj dla każdej pętli

for (String str : a)

System.out.print(str + ” “);

}

}

Wyjście

Przeczytaj: Architektura i komponenty Java

Inne ważne metody

  • Int size() – służy do zwracania rozmiaru wektora
  • Object get(int index) – służy do zwracania elementu w określonej pozycji w wektorze
  • Object firstElement() – służy do zwracania pierwszego elementu wektora w java
  • Object lastElement() – służy do zwracania ostatniego elementu wektora w java
  • Boolean equals(Object o) – służy do porównania wektora z danym obiektem pod kątem równości. Zwraca prawdę, jeśli wszystkie elementy są prawdziwe w swoich odpowiednich indeksach
  • Void trimtosize() – służy do usuwania dodatkowej pojemności i utrzymania pojemności równej rozmiarowi

Więcej o wektorach

  • Wektor w java to dynamiczna struktura danych, do której można uzyskać dostęp za pomocą indeksu liczb całkowitych.
  • Chociaż jest podobny do ArrayList, jest zsynchronizowany i zawiera niektóre starsze metody niedostępne w strukturze kolekcji.
  • Zamówienie reklamowe jest zachowywane.
  • Jest rzadko używany w środowisku bez wątków.
  • Ze względu na synchronizację wektory mają słabą wydajność wyszukiwania, dodawania, aktualizowania i usuwania elementów.
  • Iteratory klasy wektorowej zawodzą szybko i zgłaszają ConcurrentModificationException w przypadku jednoczesnej modyfikacji.
  • Stos jest jego bezpośrednio znaną podklasą.

Przydział pamięci w wektorach

Jak widać powyżej, wektory nie mają określonego rozmiaru. Zamiast tego wektor w javie może dynamicznie zmieniać swój rozmiar. Zakłada się, że wektory przydzielają nieskończoną przestrzeń do przechowywania elementów. Tak jednak nie jest. Rozmiar wektora jest zmieniany na podstawie dwóch pól – „przyrostu pojemności” i „pojemności”.

Kiedy wektor jest zadeklarowany, przydzielane jest pole „pojemność” równe rozmiarowi i można dodawać elementy równe pojemności. Zaraz po wstawieniu następnego elementu rozmiar tablicy jest zwiększany o rozmiar „capacityIncrement”. Daje to wektorowi możliwość zmiany jego rozmiaru — pojemność podwaja się dla domyślnego konstruktora po wstawieniu nowego elementu.

Ucz się kursów oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Zalety Vector w Javie

Dynamiczny rozmiar wektorów pozwala uniknąć marnowania pamięci, a rozmiar naszej struktury danych można zmienić w dowolnym momencie w środku programu.

Zarówno wektory, jak i ArrayLists są dynamiczne. Jednak wektory są korzystniejsze, ponieważ:

  • Wektory są zsynchronizowane.
  • Ma kilka starszych funkcji, których nie można zaimplementować na ArrayLists.

Wniosek

Wektor w javie to dynamiczna tablica bez limitu rozmiaru, która jest częścią Java Collection Framework od wersji Java 1.2. Na tym blogu widzieliśmy różne konstruktory i popularne metody wektorów. Warto również zauważyć, że klasa Vector powinna być używana tylko w środowisku wątkowo bezpiecznym.

Jeśli chcesz dowiedzieć się więcej o Javie, programach OOP i tworzeniu pełnego stosu oprogramowania, zapoznaj się z Executive PG Program w zakresie tworzenia oprogramowania upGrad i IIIT-B — specjalizacja w tworzeniu pełnego stosu, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystyczne szkolenie, ponad 9 projektów i zadań, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Czym jest wektor w Javie?

Wektor to struktura danych w Javie. Jak sama nazwa wskazuje, wektor jest rodzajem sekwencji elementów. Używa dynamicznej tablicy, która rośnie i kurczy się w miarę uzyskiwania dostępu. Ma metodę size(), aby uzyskać bieżący rozmiar wektora i metodę capacity(), aby uzyskać pojemność wektora. Te dwie metody zwracają wartości większe od zera. Pojemność wektora to liczba elementów, które można przechowywać w wektorze bez konieczności przydzielania nowej tablicy. Rozmiar wektora to liczba elementów aktualnie przechowywanych w wektorze.

Jakie są zalety wektorów nad tablicami?

Tablice mają stały rozmiar, co oznacza, że ​​nie mogą rosnąć ani kurczyć się w razie potrzeby. Wektory są implementowane jako tablice, których rozmiar można dynamicznie zmieniać, co pozwala na ich powiększanie i zmniejszanie w razie potrzeby. Jest to przydatne do ciągłego wzrostu danych; na przykład program, który odczytuje pliki tekstowe linia po linii, będzie mógł rosnąć wraz z rozmiarem pliku. Wektory są na ogół bardziej wydajne niż tablice. Dzieje się tak, ponieważ wektory są implementowane jako tablice referencji (java.lang.Objects), podczas gdy tablice są implementowane jako tablice obiektów.

Co to jest ArrayList w Javie?

Klasa ArrayList reprezentuje tablicę dynamiczną. Może rosnąć w miarę potrzeb, aby pomieścić nowe elementy. Tablica jest faktycznie zaimplementowana jako lista odwołań do obiektów. Za każdym razem, gdy trzeba utworzyć element, udostępniane jest odwołanie do nowego obiektu. Jest to możliwe dzięki temu, że ArrayList jest zaimplementowana jako lista, której rozmiar można dynamicznie zmieniać. ArrayList dziedziczy większość swoich metod i pól z AbstractList. ArrayList jest szybszy niż tablica, ponieważ nie musi tworzyć nowych obiektów. Metody mutacyjne, które zmieniają rozmiar tablicy, takie jak dodawanie, ustawianie i usuwanie, są nazywane metodami destrukcyjnymi, ponieważ na stałe zmieniają rozmiar tablicy.