КампутарыПраграмаванне

Java Array. Масівы ў Java. Java для пачаткоўцаў

Масіў (англ. Array) уяўляе сабой магутны інструмент, які дазваляе працаваць з вялікай колькасцю дадзеных. Відавочна, што калі вам у працэсе працы вашага кода дзесьці трэба захаваць, да прыкладу, 100 значэнняў, нешта рабіць для гэтага такое ж колькасць зменных як мінімум неразумна. Масіў дазваляе захоўваць вялікая колькасць значэнняў пад адным імем і звяртацца да іх па адпаведным індэксе. Паняцце масіваў з'яўляецца краевугольным каменем ў вывучэнні курса Java для пачаткоўцаў. Бо яны з'яўляюцца асновай для многіх структур дадзеных.

Паколькі Java гэта, перш за ўсё, ООП, у параўнанні з масівамі ў іншых мовах праграмавання Java Array мае адну адметную асаблівасць - яны прадстаўляюцца ў выглядзе аб'ектаў. Акрамя іншых пераваг, гэта пазбаўляе ад патрэбы сачыць за ачысткай памяці, паколькі яна вызваляецца аўтаматычна.

Стварэнне і маніпуляцыі аднамерны масівамі

Аднамерны масіў ўяўляецца сабой класічны Java array і з'яўляецца сукупнасцю звязаных агульным імем элементаў, кожнаму з якіх адпавядае вызначаны індэкс. Спосаб аб'явы масіва прыведзены на малюнку ніжэй.

Спачатку аб'яўляецца тып Java array, які вызначае тып значэнняў, якія захоўваюцца ў ім. Гэта можа быць любы дапушчальны ў Java тып дадзеных. Далей ідуць імя масіва і квадратныя дужкі, якія паведамляюць кампілятара, што дадзеная пераменная з'яўляецца масівам. Звярніце ўвагу на важны факт. Квадратныя дужкі можна ставіць як пасля базавага тыпу масіва, так і пасля імя масіва. Пасля знака роўнасці паказваецца аператар new, распачнуць вылучэнне памяці пад масіў (гэтак жа, як і ў выпадку з аб'ектамі), тып элементаў, якія будуць захоўвацца ў ім (павінен быць сумяшчальны з базавым тыпам, абвешчаных раней), і, нарэшце, іх колькасць , названае ў квадратных дужках.

Нумарацыя элементаў у Java array пачынаецца з 0. Так, індэкс першага элемента ў дадзеным масіве будзе роўны 0, а шостага - 5. Каб звярнуцца да пэўнага элементу масіва, напрыклад, пятага, досыць паказаць імя масіва і індэкс элемента ў квадратных дужках побач з імем . Такім чынам можна як прысвойваць значэнне элементу, так і здабываць яго. Аднак варта быць уважлівым, паколькі калі перадаць індэкс, па якому не існуе элемента, то ўзнікне памылка.

Шматмерныя масівы ў Java

Шматмерныя масівы ўяўляюць сабой шэрагі аднамерных, на якія спасылаюцца элементы іншых масіваў. Іншымі словамі, гэта масівы масіваў. Найбольш простымі сярод іх з'яўляюцца двухмерныя. На іх прыкладзе мы і паспрабуем разабрацца з паняццем. Для нагляднасці на малюнку ніжэй прыведзены сінтаксіс і схема, якая апісвае структуру двухмернага масіва.

Як бачым, сінтаксіс не асоба адрозніваецца ад аднамерных масіваў. Давайце разбярэм структуру. У першых дужках мы выдзелілі месца пад 5 элементаў. Гэтыя элементы з'яўляюцца нічым іншым як спасылкамі на асобныя масівы. Пры гэтым памер кожнага з іх вызначаны лікам у другіх дужках. Па сутнасці, аналагам двухмерных масіваў у матэматыцы з'яўляюцца матрыцы. Звярніце ўвагу, што акрамя элементаў, у памяці вылучаецца асобнае месца, дзе захоўваецца значэнне даўжыні масіва (length). Як правіла, праца з шматмерным масівамі ажыццяўляецца з дапамогай укладзеных цыклаў for.

нерэгулярныя масівы

Двухмерных масіў з'яўляецца масівам масіваў. Гэта мы ўжо высветлілі. Але ці могуць масівы, якія змяшчаюцца ў ім, мець розную даўжыню? Адказ - так, могуць. Для гэтага ў Java прадугледжана магчымасць аб'яўляць двухмерных масіў адмысловым чынам. Да прыкладу, мы хочам стварыць двухмерных масіў, які захоўваў бы ў сабе тры аднамерных масіва даўжынёй 2, 3 і 4 адпаведна. Аб'яўляецца ён наступным чынам:

intarr [] [] = newint [3] [];

Звярніце ўвагу, што мы не паказалі лік у другіх дужках. Вызначэнне памеру масіваў у arr робіцца так:

arr [0] = new int [2];

arr [1] = new int [3];

arr [2] = newint [4];

Звяртаючыся да элемента пад індэксам 0, які паказвае на першы масіў, мы аб'яўляем яго з памерам 2. Пад элементам з індэксам 1 будзе захоўвацца масіў памерам 3, і гэтак далей. Усё даволі проста.

Альтэрнатыўны сінтаксіс аб'явы java array

Ініцыялізаваць масівы можна і непасрэдна пры іх стварэнні. Гэта даволі проста.

Звярніце ўвагу на аб'яву масіваў jerseyNumber і playerName.

У выпадку з двухмернымі масівамі дадзенае аб'яву выглядае так:

int [] [] arr = {

{1, 2, 3},

{4, 5, 6},

{7, 8, 9}

}

Для гэтага замест аператара new адкрываюцца фігурныя дужкі, у якіх праз коску ідзе пералік ўсіх элементаў. Java у гэтым выпадку аўтаматычна вылучае памяць пад іх і індэксуе іх адпаведным чынам.

Дапаможны клас Arrays

Для працы з такімі сутнасцямі, як масівы ў Java, у пакеце java.util маецца спецыяльны клас Arrays, які дае мноства статычных метадаў, значна палягчаюць аперацыі з імі. Пералік асноўных метадаў прадстаўлены на малюнку ніжэй.

Разбяром некаторыя самыя карысныя Java array метады:

- copyOf (масіў, даўжыня) - вяртае копію перададзенага масіва адпавядае даўжыні. Калі перададзеная даўжыня больш арыгінальнага масіва, то ўсё «лішнія» элементы запаўняюцца значэннем па змаўчанні (0, калі просты тып, і null, калі спасылачныя).

- copyOfRange (масіў, першы індэкс, апошні індэкс) - ня ўказаны на малюнку, але карысны метад. Ён капіюе частка перададзенага масіва, пэўную адпаведнымі індэксамі, пачынаючы з першага і заканчваючы апошнім.

- sort (масіў) - сартуе элементы масіва па ўзрастанні.

- fill (масіў, значэнне) - запаўняе перададзены масіў адпаведным значэннем.

- binarySearch (масіў, значэнне) - вяртае індэкс, пад якім элемент з адпаведным значэннем знаходзіцца ў перададзеным адсартаваным масіве. Калі ж такі элемент адсутнічае, то вяртаецца адмоўнае лік.

Паколькі метады статычныя, то для іх закліку не патрабуецца ствараць асобнік класа Arrays. Яны выклікаюцца наўпрост з яго: Arrays.sort (arr).

заключэнне

Мы разгледзелі найбольш важныя аспекты адносна масіваў, і для тых, хто толькі прыступае да вывучэння Java для пачаткоўцаў, гэтага хопіць для базавага разумення такой сутнасці, як масіў, і асноўных прыёмаў працы з ім. Вядома, практыка дасць больш разумення працы дадзенага інструмента. Паэтам не залянуецеся зрабіць некалькі практыкаванняў, маніпулюючы масівамі рознымі спосабамі.

Дапаможны клас Array Java выкарыстоўваецца ўжо ў «баявых» умовах, таму для пачатку рэкамендуецца вучыцца вырабляць усе асноўныя аперацыі з масівамі ўручную.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.atomiyme.com. Theme powered by WordPress.