what is java vector java vector class tutorial with examples
Овај водич објашњава све о структури векторских података у Јави са примерима. Научићете да креирате, иницирате, сортирате и користите Јава Вецтор у својим програмима:
Вектор се може дефинисати као динамички низ који може сам да расте или се смањује, тј. Вектор ће расти када му се дода више елемената и смањиваће се када се елементи уклоне из њега.
Ово понашање је различито од низова који су статични. Али слично низу, векторским елементима се може приступити помоћу целобројних индекса.
=> Овде погледајте како бисте овде видели А-З Јава Водича за обуку.
Вектор се може посматрати као сличан другој структури података динамичког низа, АрраиЛист, осим две разлике у наставку:
- Вектор је синхронизован, тј. Све методе у Вектору су означене као „синхронизоване“, па се, након што се метода позове, не може позвати исти метод ако претходни позив није завршен.
- Векторска класа има много метода које нису део оквира збирки већ њених старих метода.
Шта ћете научити:
Јава Вецтор Цласс
Векторска класа је осим „ јава.утил ”Пакет и имплементира интерфејс листе. Вектор је низ објеката или вектор објеката.
Декларација класе Вецтор класе дата је у наставку:
public class Vector extends Object implements List, Cloneable, Serializable
Као што је горе приказано, класа Вецтор се протеже „ јава.ланг.објецт ”И имплементира интерфејсе Лист, Цлонеабле и Сериализабле.
Како створити вектор у Јави?
Можете створити објект Вецтор користећи било који од следећих метода конструктора Вецтор.
агилна сцрум методологија интервју интервју питања одговори
Прототип конструктора | Опис | |
---|---|---|
Јасно | Обриши празнину () | Брише вектор његових елемената. |
вектор () | Ово је подразумевани конструктор класе Вецтор. Ствара празан вектор величине 10. | |
вектор (инт ИнитиалЦапацити) | Овај преоптерећени конструктор конструише празан векторски објекат с капацитетом = ИнитиалЦапацити. | |
вектор (инт ИнитиалЦапацити, инт цапацитиИнцремент) | Ова метода конструктора креира празан векторски објекат са наведеним ИнитиЦапацити и цапацитиИнцремент. | |
Вектор (колекција ц) | Векторски објекат се креира са почетним елементима из наведене колекције ц. |
Погледајмо сваког од конструктора за иницијализацију векторских објеката.
Иницијализација вектора
(и) Вектор ()
Ово је подразумевани конструктор класе Вецтор. Када позовете овај конструктор, креира се Вецтор објекат подразумеване величине 10.
Општа синтакса ове методе је:
Векторски објекат = нови Вектор ();
На пример,
Vector vec1 = new Vector ();
Горња изјава креира нови Вецтор ‘вец1’ величине 10.
(ии) Вектор (инт почетни капацитет)
Преоптерећени конструктор класе Вецтор прихвата као аргумент „ИнитиЦапацити“. Овај конструктор креира Вецтор објекат са наведеним капацитетом.
Општа синтакса методе је:
Векторски објекат = нови вектор (почетни капацитет);
На пример,
Vector vec1 = new Vector (10);
Горња програмска изјава ће створити векторски објекат „вец1“ капацитета 10, тј. Овај вектор може да ускладишти до 10 елемената.
(иии) Вектор (инт ИнитиЦапацити, инт цапацитиИнцремент)
Ово је још један преоптерећени конструктор класе Вецтор и ствара Вецтор објекат са наведеним почетним капацитетом и прираштајем за капацитет.
Општа синтакса ове методе је:
Векторски објекат = нови вектор (ИнитиЦапацити, цапацитиИнцремент);
На пример,
Vector vec1 = new Vector(5,10);
У горњој изјави, почетни капацитет Вектора је 5, а прираштај 10. То значи када 6тхелемент се уметне у вектор, капацитет вектора ће бити увећан на 15 (5 + 10). Слично томе, када је 16тхелемент је уметнут, векторски капацитет вектора ће бити проширен на 25 (15 +10).
(ив) Вектор (колекција ц)
Последњи преоптерећени конструктор класе Вецтор узима као аргумент унапред дефинисану колекцију и креира Вектор са свим елементима из ове колекције као његовим елементима.
Општа синтакса је:
Векторски објекат = нови вектор (колекција ц);
На пример,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
Горња изјава ће створити Вецтор ‘вец1’ са почетним елементима као {1,2,3,4, 5}.
Имајући све ове описе на уму, омогућићемо нам да применимо програм Вецтор да бисмо боље разумели ове конструкторе.
Векторске методе у Јави
Следе методе које подржава класа Вецтор у Јави.
Назив методе | Прототип | Опис |
---|---|---|
додати | Логички додатак (Е е) | Додаје дати елемент на крај вектора. |
Воид адд (инт индекс, Е елемент) | Додајте елемент у вектор по наведеном индексу. | |
аддАлл | Боолеан аддАлл (Колекција ц) | Додаје све елементе из дате колекције на крај вектора. |
Логички аддАлл (инт индекс, Збирка ц) | Додаје све елементе у наведеној колекцији по наведеном индексу. | |
аддЕлемент | воид аддЕлемент (Е обј) | Додаје наведени елемент на крај вектора повећањем величине вектора. |
Капацитет | Инт капацитет () | Даје тренутни капацитет вектора. |
Клонирај | Клон објекта () | Клонира вектор. |
Садржи | Боолеан садржи (објекат о) | Проверава да ли вектор садржи наведени елемент. |
садржиСве | Боолеан цонтаинсАлл (Збирка ц) | Проверава да ли вектор садржи све елементе присутне у датој колекцији. |
цопиИнто | Воид цопиИнто (Објецт () анАрраи) | Копира векторске елементе у дати низ. |
ЕлементАт | Е ЕлементАт (инт индекс) | Приказује векторски елемент по наведеном индексу. |
Елементи | Енумератионелементс () | Враћа набројане компоненте за вектор. |
осигуратикапацитет | Празан осигурајКапацитет (инт минКапацитет) | Повећава капацитет вектора да задовољи минимални наведени капацитет. |
Назив методе | Прототип | Опис |
---|---|---|
инсертЕлементАт | Воид инсертЕлементАт (Е обј, инт индекс) | Умеће дати објекат у вектор са датим индексом. |
Једнако | Булове једнаке (објекат о) | Поређује тренутни вектор са наведеним вектором да би се проверило да ли су једнаки. |
фирстЕлемент | Е фирстЕлемент () | Даје први елемент вектора у индексу 0. |
Добити | Е гет (инт индекс) | Враћа елемент у вектору по наведеном индексу. |
хасхЦоде | инт хасхЦоде () | Враћа вредност хеш кода за Вектор. |
индекс | инт индекОф (објекат о) | проналази индекс првог појављивања датог елемента у вектору; -1 ако елемент није присутан у вектору. |
инт индекОф (објект о, инт индекс) | Претражује вектор из датог индекса у смеру прослеђивања наведеног елемента; враћа индекс ако је елемент пронађен елсе -1 ако елемент није пронађен. | |
Празно | Боолеан исЕмпти () | Проверава да ли је вектор празан. |
Итератор | Итераторитератор () | Враћа итератор који се користи за прелазак преко елемената вектора. |
ластЕлемент | Е ластЕлемент () | Приказује последњи елемент вектора. |
ластИндекОф | Инт ластИндекОф (објекат о) | Претражује вектор за последњу појаву датог елемента и враћа индекс, или враћа -1 елемент није пронађен. |
Инт ластИндекОф (Објект о, инт индекс) | Покреће претрагу последњег појављивања датог елемента из датог индекса уназад. Враћа индекс ако је елемент пронађен, иначе враћа -1. | |
листИтератор | ЛистИтераторлистИтератор () | Враћа итератор листе преко векторских елемената. |
ЛистИтераторлистИтератор (инт индекс) | Враћа итератор листе преко векторских елемената почев од датог индекса. |
Назив методе | Прототип | Опис |
---|---|---|
ремовеРанге | заштићена празнина ремовеРанге (инт фромИндек, инт тоИндек) | Брише све елементе из вектора у датом опсегу одИндек (укључујући) до ТотоИндек (ексклузивно). |
Уклоните | Е уклони (инт индекс) | Брише елемент из датог индекса из вектора. |
Логичко уклањање (објекат о) | Брише прву појаву датог елемента из вектора. Ако елемент није присутан, вектору се ништа неће догодити | |
уклони све | Боолеан ремовеАлл (Колекција ц) | Брише све елементе из вектора који су присутни у датој колекцији. |
воид ремовеАлл Елементс () | Брише све векторске елементе чиме се смањује на нулу. | |
ремовеЕлемент | Боолеан ремовеЕлемент (објект објекта) | Уклања прву појаву датог елемента из вектора. |
воид ремовеЕлементАт (инт индекс) | Брише елемент у датом индексу. | |
ретаинАлл | Боолеан ретаинАлл (Колекција ц) | За разлику од „ремовеАлл“, метода ретаинАлл задржава елементе у Вектору који се подударају са елементима у наведеној колекцији. |
комплет | Е сет (индекс инт, Е елемент) | Поставља вредност на дати индекс помоћу новог елемента који је дат. |
Воид сет ЕлементАт (Е обј, инт индекс) | Поставља дате елементе на дати индекс. | |
сетСизе | Воид сетСизе (инт невСизе) | Поставља задану величину за овај вектор. |
Величина | инт величина () | Приказује број елемената у овом вектору или дужину вектора. |
субЛист | ЛистсубЛист (интфромИндек, инттоИндек) | Даје приказ или подлисту вектора у распону од Индекса до Индекса. |
тоАрраи | Објецт () тоАрраи () | Претвара дати вектор у низ који садржи све векторске елементе у датом редоследу. |
Т () доАрраи (Т () а) | Приказује низ специфицираног типа који садржи све векторске елементе. | |
тоСтринг | Стринг тоСтринг () | Враћа низ података вектора. |
тримТоСизе | воид тримТоСизе () | Смањује вектор тако да одговара тренутној величини. |
Имплементација вектора
Следећи Јава програм показује употребу свих горе описаних метода конструктора.
import java.util.*; public class Main{ public static void main(String() args) { //Create vectors v1, v2,v3 and v4 Vector v1 = new Vector(); //a vector with default constructor Vector v2 = new Vector(20); // a vector of given Size //initialize vector v2 with values v2.add(10); v2.add(20); v2.add(30); Vector v3 = new Vector(30, 10); // a vector of given Size and Increment // create a vector v4 with given collection List aList = new ArrayList(); aList.add('one'); aList.add('two'); Vector v4 = new Vector(aList); //print contents of each vector System.out.println('Vector v1 Contents:' + v1); System.out.println('Vector v2 Contents:' + v2); System.out.println('Vector v3 Contents:' + v3); System.out.println('Vector v4 Contents:' + v4); } }
Излаз:
Горњи програм садржи четири вектора. Први в1 се креира са подразумеваним конструктором. Други Вецтор в2 се креира са почетним капацитетом од 20. Тада се у в2 додаје неколико елемената. Трећи Вектор је створен са почетним капацитетом од 30 и прирастом од 10.
Затим креирамо АрраиЛист и креирамо четврти Вецтор в4 са АрраиЛист-ом као аргументом. На крају, приказујемо садржај сваког од ових Вектора.
Обратите пажњу на садржај четвртог Вецтор в4. Као што смо као аргумент навели АрраиЛист, садржај АрраиЛист постаје садржај в4.
Комплетан векторски пример
Сада ћемо применити још један програм који хоће демонстрирају стварање вектора, додајући им елементе и приказујући њихов садржај.
import java.util.*; public class Main { public static void main(String args()) { //Create an empty Vector of even numbers Vector evenVector= new Vector (); //Add elements in the vector evenVector.add(2); evenVector.add(4); evenVector.add(6); evenVector.add(8); evenVector.add(10); evenVector.add(12); evenVector.add(14); evenVector.add(16); //Display the vector System.out.println('Vector evenVector contents: ' +evenVector); //delete the first occurence of an element 4 using remove method System.out.println('
Firstoccurence of element 4 removed: '+evenVector.remove((Integer)4)); //Display the vector System.out.println('
Vector contents after remove operation: ' +evenVector); //Remove the element at index 4 & display the vector System.out.println('
Remove element at index 4: ' +evenVector.remove(4)); System.out.println('
Vector contents after remove: ' +evenVector); //hashcode for the vector System.out.println('
Hash code of the vector = '+evenVector.hashCode()); //Get the element at index 1 System.out.println('
Element at index 1 is = '+evenVector.get(1)); } }
Излаз:
Узмимо још један векторски пример. У овом програму ћемо користите вектор низа . Овим вектором манипулишемо додавањем елемената и затим исписујемо његову величину и капацитет.
import java.util.*; public class Main { public static void main(String args()) { // create a vector with initial capacity = 2 Vector fruits_vec = new Vector(2); //add elements to the vector fruits_vec.addElement('Grapes'); fruits_vec.addElement('Melon'); fruits_vec.addElement('Kiwi'); fruits_vec.addElement('Apple'); //print current size and capacity of the vector System.out.println('Vector Size: '+fruits_vec.size()); System.out.println('Default Vector capacity increment: '+fruits_vec.capacity()); //add more elements to the vector fruits_vec.addElement('Orange'); fruits_vec.addElement('Mango'); fruits_vec.addElement('Fig'); //print current size and capacity again System.out.println('Vector Size after addition: '+fruits_vec.size()); System.out.println('Vector Capacity after increment: '+fruits_vec.capacity()); //print vector elements Enumeration fruits_enum = fruits_vec.elements(); System.out.println('
Vector Elements are:'); while(fruits_enum.hasMoreElements()) System.out.print(fruits_enum.nextElement() + ' '); } }
Излаз:
Поредај вектор
Такође можете сортирати вектор према одређеном редоследу. За сортирање вектора морате да користите методу Цоллецтионс.сорт () Јава Цоллецтионс Фрамеворк-а.
Следећи пример приказује векторско сортирање.
import java.util.*; public class Main { public static void main(String arg()) { //Create an empty vector Vector oddVector = new Vector(); //Add elements to the vector oddVector.add(1); oddVector.add(11); oddVector.add(7); oddVector.add(3); oddVector.add(5); //print the vector elements System.out.println('Vector elements: '+oddVector); //sort vector using Collections.sort method Collections.sort(oddVector); //print sorted vector System.out.println('Vector elements after sorting: '+oddVector); } }
Излаз:
Горњи програм ствара Вектор непарних бројева. Затим се методом Цоллецтионс.сорт () вектор сортира.
2Д (дводимензионални) вектор
2д вектор је вектор који има сваки од својих елемената као вектор. Такође се може назвати „вектор вектора“.
Пример у наставку приказује 2д вектор.
import java.util.*; public class Main { public static void main(String args()) { //define and initialize a vector Vector inner_vec = new Vector(); inner_vec.add('Software'); inner_vec.add('Testing'); inner_vec.add('Java'); inner_vec.add('Tutorials'); //define another vector and add first vector to it. Vector outer_vec = new Vector(); outer_vec.add(inner_vec); String str; //display the contents of vector of vectors System.out.println('Contents of vector of vectors:'); for(int i=0;i Излаз:

У горњем програму имамо Вектор од четири елемента. Затим декларишемо други вектор и додамо претходни вектор као елемент другом вектору. Обратите пажњу на начин приступа елементима вектора. Формирајте фор петљу, можете закључити да је први елемент спољног вектора (са индексом 0) први или унутрашњи вектор.
Тако у петљи држимо индекс спољног вектора као 0 и петљу кроз унутрашњи вектор приказујемо све елементе.
Претвори вектор у низ
Размотримо следећи пример претварања вектора у низ. За претварање вектора у низ користимо методу ‘тоАрраи’ класе Вецтор.
У следећем примеру програмирања , декларишемо низ Вецтор и додајемо му елементе. Затим помоћу методе тоАрраи класе Вецтор претварамо Вецтор у низ Стринг тако што ћемо као низ предати објект низа низа.
import java.util.Vector; public class Main { public static void main(String() args) { // Create a Vector of String elements Vector color_vector = new Vector(); // Add elements to Vector color_vector.add('Violet'); color_vector.add('Indigo'); color_vector.add('Blue'); color_vector.add('Green'); color_vector.add('Yellow'); color_vector.add('Orange'); color_vector.add('Red'); //Convert Vector to String Array using toArray method String() colorsArray = color_vector.toArray(new String(color_vector.size())); //print Array Elements System.out.println('String Array Elements :'); for(String val:colorsArray){ System.out.print(val + ' '); } } }
Излаз:
како покренути свф у хрому

Вектор вс низ
У наставку су наведене неке од разлика између вектора и низа.
Вецтор Арраи Резервише додатно складиште када се повећа капацитет. Не задржава никакво додатно складиште. Вектор је динамичан и његова величина расте и смањује се када се елементи додају или уклањају. Низови су статични и његова величина остаје фиксна када се декларише. Вектори могу чувати само предмете. Низови могу да чувају примитивне типове као и објекте. Пружа методу сизе () за одређивање величине. Пружа својство дужине за одређивање дужине. Нема димензија концепта, али се може створити као вектор вектора, који се обично назива 2д вектор. Димензије подржавају низове. Вектор је синхронизован. Низ није синхронизован. Вектор је спорији од низа. Низ је бржи. Обезбеђује сигурност типа подржавањем генеричких лекова. Нема генеричке подршке.
Вецтор вс АрраиЛист
Овај одељак говори о разлици између Вецтор и АрраиЛист у Јави.
Вецтор Низ листа Вектор има величину прираста помоћу које се величина вектора може повећати. АрраиЛист не пружа величину прираста. Присутан од почетне верзије Јаве (верзија ЈДК 1.0). Уведено у Јави од ЈДК 1.2 Вецтор је наследна класа Јава-е. АрраиЛист је део оквира Јава Цоллецтионс Фрамеворк. Вектор постаје двоструко већи када се достигне његов капацитет. АрраиЛист расте за половину величине када се достигне његов капацитет. Векторске методе су синхронизоване. АрраиЛист није синхронизован. Вецтор користи Енумератор и Итератор за кретање. АрраиЛист користи само Итератор. Векторске операције су спорије. АрраиЛист је бржи. Вецтор је сигуран у нитима, што значи да је коришћење Вецтор-а из више нити дозвољено и сигурно. АрраиЛист није заштићен од нити.
Често постављана питања
П # 1) Шта је Вектор у Јави?
Одговор: У Јави се Вецтор може дефинисати као низ објеката који се могу множити. Слично као низима, векторским елементима се такође може приступити помоћу индекса.
П # 2) Да ли је вектор уређен у Јави?
Одговор: Да. Наређује се Вецтор и одржава редослед уметања елемената.
П # 3) Да ли је Вецтор сигуран у Јава-у?
Одговор: Да. У Јави је класа Вецтор заштићена од нити. Како је класа Вецтор синхронизована, чини је сигурном за нит, тј. Класу Вецтор можете користити из више нити и она је сигурна.
П # 4) Зашто користимо вектор у Јави?
Одговор: Најважнији разлог због којег се Вецтор користи у Јави је тај што Вецтор расте и аутоматски се смањује. Они су динамични због чега су преферирани у односу на низове.
П # 5) Шта је боље - АрраиЛист или вектор?
Одговор: АрраиЛист по перформансама је бржи у поређењу са вектором, јер је Вецтор синхронизован и чини га споријим.
Закључак
У овом упутству започели смо са структуром података Вецтор у Јави. Вектори су готово слични низу у којем се елементима Вецтор приступа помоћу познатих индекса. Вектори се називају динамичким низом и за разлику од низова, величина Вектора се аутоматски смањује.
Вектори такође имају карактеристике капацитета и прираштаја које се могу користити за стварање и резервисање додатног складишта за будуће додатке. Вецтор је наследна класа у јава.утил пакету Јава и синхронизован је као и заштићен од нити.
Стога би требали преферирати векторе када нам је потребна динамичка величина, а такође и док радимо у окружењу са више нити.
=> Посетите овде за ексклузивну серију лекција за Јава тренинг.
Препоручено читање
- Водич за ЈАВА за почетнике: 100+ практичних Јава видео водича
- Водич за Јава рефлексију са примерима
- Јава интерфејс и лекција са апстрактним часовима са примерима
- Назубљени низ у Јави - Водич са примерима
- Водич за дужину Јава низа са примерима кода
- Како сортирати низ у Јави - Водич са примерима
- Јава 'тхис' кључна реч: Водич са примерима кода
- Приступити модификаторима у Јави - Водич са примерима