JavaRush /Blog Jawa /Random-JV /Array ing Jawa

Array ing Jawa

Diterbitake ing grup
Mbayangno sel ing kamar panyimpenan. Saben wis nomer dhewe, lan saben ngemot sawetara jenis "Bagasi" obyek. Utawa dhaptar anggur, ing ngendi kabeh jinis anggur diwilang lan nalika sampeyan nggawe pesenan, sampeyan mung kudu menehi nomer ngombe. Utawa dhaptar siswa ing grup, ing ngendi siswa "Andreev" bakal ditulis ing sel pisanan, lan "Yakovlev" ing sel pungkasan. Utawa dhaptar penumpang pesawat, sing saben wong diwenehi kursi kanthi nomer tartamtu. Ing Jawa, kanggo nggarap struktur sing padha, yaiku, akeh data sing homogen, array ing Jawa asring digunakake.

Apa iku array?

Array minangka struktur data sing nyimpen unsur saka jinis sing padha. Bisa dianggep minangka sakumpulan sel sing dinomer, saben siji bisa ngemot sawetara data (siji unsur data saben sel). Akses menyang sel tartamtu ditindakake liwat nomer kasebut. Jumlah unsur ing larik uga disebut indeks . Ing kasus Jawa, array kasebut homogen, yaiku, kabeh sel bakal nyimpen unsur saka jinis sing padha. Dadi, array saka integer mung ngemot ongko (contone, saka jinis int ), array saka strings mung ngemot strings, Uploaded unsur saka kelas Dog kita digawe mung bakal ngemot obyek Dog . Sing, ing Jawa, kita ora bisa sijine integer ing sel pisanan array, String ing kaloro , lan "asu" ing katelu. Array ing Jawa

Deklarasi Array

Kepiye carane ngumumake array?

Kaya variabel apa wae, array ing Jawa kudu diumumake. Sampeyan bisa nindakake iki ing salah siji saka rong cara. Padha padha, nanging sing pisanan luwih konsisten karo gaya Jawa. Kapindho yaiku warisan saka basa C (akeh programer C pindhah menyang Jawa, lan kanggo penake cara alternatif ditinggalake). Tabel nuduhake loro cara kanggo ngumumake array ing Jawa:
Ora. Deklarasi array, sintaksis Jawa Tuladha A komentar
1.
dataType[] arrayName;
int[] myArray;

Object[]
arrayOfObjects;
Disaranake kanggo ngumumake array kanthi cara iki, iki gaya Jawa
2.
dataType arrayName[];
int myArray[];

Object
arrayOfObjects[];
Cara sing diwarisake kanggo ngumumake array saka C/C++ sing uga dianggo ing Jawa
Ing kasus kasebut, dataType minangka jinis variabel ing array. Ing conto, kita ngumumake rong array. Siji bakal nyimpen integer saka jinis int , liyane bakal nyimpen obyek saka jinis Obyek . Mangkono, nalika larik diumumake, duwe jeneng lan jinis (jinis variabel larik). arrayName iku jeneng array.

Nggawe Array

Kepiye carane nggawe array?

Kaya obyek liyane, sampeyan bisa nggawe array Jawa, yaiku, nyimpen papan memori, nggunakake operator anyar . Iki ditindakake kaya mangkene:
new typeOfArray [length];
Ngendi typeOfArray minangka jinis array, lan dawa minangka dawane (yaiku, jumlah sel), ditulis ing integer ( int ). Nanging, ing kene kita mung ngalokasikan memori kanggo array, nanging ora digandhengake karo array sing digawe karo variabel sing diumumake sadurunge. Biasane array pisanan diumumake banjur digawe, contone:
int[] myArray; // array declaration
myArray = new int[10]; // creation, that is, allocation of memory for an array of 10 elements of type int
Ing kene kita ngumumake array integer sing diarani myArray , banjur nyatakake yen ana 10 sel (saben bakal nyimpen integer). Nanging, luwih umum kanggo nggawe array sanalika sawise deklarasi nggunakake sintaks shorthand iki:
int[] myArray = new int[10]; // declaration and allocation of memory "in one bottle"
Cathetan:Sawise nggawe array nggunakake new , sel kasebut diisi karo nilai standar. Kanggo jinis numerik (kaya ing conto kita) iki bakal dadi 0, kanggo boolean - false , kanggo jinis referensi - null . Mangkono, sawise operasi
int[] myArray = new int[10];
kita entuk array saka sepuluh wilangan bulat, lan nganti owah-owahan sajrone program kasebut, saben sel ngemot 0.

Informasi liyane babagan array bisa ditemokake ing artikel " Soko babagan array "

Larik ing Jawa

Kaya sing kasebut ing ndhuwur, dawa array yaiku jumlah unsur sing dirancang kanggo array. Dawane array ora bisa diganti yen wis digawe. Cathetan:Ing Jawa, unsur array diwilang saka nol. Tegese, yen kita duwe array 10 unsur, unsur pisanan saka array bakal duwe indeks 0, lan sing pungkasan duwe indeks 9. Larik ing basa Jawa - 3Sampeyan bisa ngakses dawa array nggunakake variabel dawa . Tuladha:
int[] myArray = new int[10]; // created an array of integers with 10 elements and named it myArray
System.out.println(myArray.length); // printed to the console the length of the array, that is, the number of elements that we can put in the array
Output program:
10

Miwiti array lan ngakses unsur-unsur kasebut

Carane nggawe array ing Jawa wis cetha. Sawise prosedur iki, kita ora entuk array kosong, nanging array sing diisi karo nilai standar. Contone, ing kasus int iki bakal dadi 0, lan yen kita duwe array karo data saka jinis referensi, banjur standar, null ditulis ing saben sel . Kita ngakses unsur array (yaiku, kita nulis nilai kasebut utawa nampilake ing layar utawa nindakake sawetara operasi) kanthi indeks kasebut. Miwiti array yaiku ngisi data tartamtu (ora minangka standar). Conto: ayo nggawe array 4 musim lan isi karo nilai string - jeneng musim kasebut.
String[] seasons  = new String[4]; /* declared and created an array. Java allocated memory for an array of 4 strings, and now each cell is null (because the string is a reference type)*/

seasons[0] = "Winter"; /* in the first cell, that is, in the cell with a zero number, we wrote the string Winter. Here we get access to the zero element of the array and write a specific value there */
seasons[1] = "Spring"; // do the same procedure with cell number 1 (second)
seasons[2] = "Summer"; // ...number 2
seasons[3] = "Autumn"; // and with the last one, number 3
Saiki kabeh papat sel array kita ngemot jeneng musim. Initialization uga bisa ditindakake kanthi cara sing beda, nggabungake initialization lan deklarasi:
String[] seasons  = new String[] {"Winter", "Spring", "Summer", "Autumn"};
Kajaba iku, operator anyar bisa diilangi:
String[] seasons  = {"Winter", "Spring", "Summer", "Autumn"};

Kepiye carane nampilake array ing Jawa ing layar?

Sampeyan bisa nampilake unsur array ing layar (yaiku, menyang console), contone, nggunakake for loop . Cara liya sing luwih cendhek kanggo nampilake larik ing layar bakal dibahas ing paragraf "Cara sing migunani kanggo nggarap larik" ing ngisor iki. Saiki, ayo goleki conto kanthi output siklik saka larik:
String[] seasons  = new String[] {"Winter", "Spring", "Summer", "Autumn"};
for (int i = 0; i < 4; i++) {
System.out.println(seasons[i]);
}
Akibaté, program bakal ngasilake asil ing ngisor iki:
Winter Spring Summer Autumn

Larik Jawa siji-dimensi lan multidimensi

Apa yen kita pengin nggawe ora array saka nomer, Uploaded saka strings, utawa Uploaded sawetara obyek, nanging Uploaded array? Jawa ngidini sampeyan nindakake iki. Array sing wis akrab int[] myArray = new int[8] iku sing diarani array siji-dimensi. Lan susunan array diarani rong dimensi. Iku kaya tabel sing duwe nomer baris lan nomer kolom. Utawa, yen sampeyan sinau wiwitan aljabar linier, ing matriks. Larik ing basa Jawa - 4Napa array kasebut dibutuhake? Utamane, kanggo program matriks lan tabel sing padha, uga obyek sing meh padha karo struktur. Contone, lapangan kanggo catur bisa ditemtokake minangka susunan 8x8. Array multidimensi diumumake lan digawe kaya ing ngisor iki:
int[][] myTwoDimentionalArray = new int [8][8];
Ana persis 64 unsur ing array iki: myTwoDimentionalArray[0][0], myTwoDimentionalArray[0][1], myTwoDimentionalArray[1][0], myTwoDimentionalArray[1][1]lan sateruse nganti myTwoDimentionalArray[7][7]. Dadi yen digunakake kanggo makili papan catur, sel A1 bakal makili myTwoDimentionalArray[0][0], lan E2 bakal makili myTwoDimentionalArray[4][1]. Ing ngendi ana loro, ana telu. Ing Jawa, sampeyan bisa nemtokake array array... array array array, lan liya-liyane. Bener, array telung dimensi lan luwih akeh digunakake arang banget. Nanging, nggunakake Uploaded telung dimensi, sampeyan bisa program, contone, kothak Rubik.

Apa maneh kanggo maca

Array multidimensi

Cara sing migunani kanggo nggarap array

Kanggo nggarap array ing Jawa ana kelas java.util.Arrays (arrays ing basa Inggris tegese "arrays"). Umumé, operasi ing ngisor iki paling kerep ditindakake kanthi susunan: ngisi unsur (inisialisasi), njupuk unsur (miturut nomer), ngurutake lan nggoleki. Nggoleki lan ngurutake array minangka topik sing kapisah. Ing tangan siji, migunani banget kanggo latihan lan nulis sawetara algoritma telusuran lan ngurutake dhewe. Ing sisih liya, kabeh praktik paling apik wis ditulis lan dilebokake ing perpustakaan Jawa, lan bisa digunakake kanthi sah. Ing ngisor iki ana telung cara sing migunani kanggo kelas iki

Ngurutake larik

Cara kasebut void sort(int[] myArray, int fromIndex, int toIndex)ngurutake array integer utawa subarray ing urutan munggah.

Nggoleki array kanggo unsur sing dikarepake

int binarySearch(int[] myArray, int fromIndex, int toIndex, int key). Cara iki nggoleki unsur kunci ing myArray utawa subarray sing wis diurutake , wiwit sakaIndex lan dipungkasi menyangIndex . Yen unsur ditemokake, cara ngasilake indeks, yen ora - . (-fromIndex)-1

Ngonversi array menyang string

Cara kasebut String toString(int[] myArray)ngowahi array dadi senar. Ing bab iku ing array Jawa ora override toString() . Iki tegese yen sampeyan nyoba nampilake kabeh array (tinimbang unsur kanthi unsur, kaya ing " Nyetak Array menyang Layar ") langsung menyang layar ( System.out.println(myArray)), sampeyan bakal entuk jeneng kelas lan kode hash heksadesimal saka array. (iki ditetepake dening Object.toString () ). Yen sampeyan pamula, sampeyan bisa uga ora ngerti panjelasan metode kasebut toString. Ing tataran pisanan iki ora perlu, nanging nggunakake cara iki output saka Uploaded wis simplified. Jawa nggampangake kanggo nampilake array tanpa nggunakake loop. Liyane babagan iki ing conto ing ngisor iki.

Conto ing Urut, binarySearch lan toString

Ayo nggawe larik saka integers, nampilake ing layar nggunakake toString , urutake nggunakake cara ngurutake , lan golek sawetara nomer ing.
class Main {
    public static void main(String[] args) {
        int[] array = {1, 5, 4, 3, 7}; //declaring and initializing the array
        System.out.println(array);//trying to display our array on the screen without the toString method - we get a hexadecimal number
        System.out.println(Arrays.toString(array));//печатаем массив "правильно"
        Arrays.sort(array, 0, 4); // sort the entire array from zero to the fourth member
        System.out.println(Arrays.toString(array));//print the sorted array to the screen
        int key = Arrays.binarySearch(array, 5); // ищем key - число 5 в отсортированном массиве.
        //binarySearch method will return the index of the sorted array element, in which the required number is "hidden"
        System.out.println(key);//распечатываем индекс искомого числа
System.out.println(Arrays.binarySearch(array, 0));//а теперь попробуем найти число, которого в массиве нет,
        // and immediately display the result on the screen

    }
}
Output program:
[I@1540e19d [1, 5, 4, 3, 7] [1, 3, 4, 5, 7] 3 -1
Baris pisanan minangka upaya kanggo nampilake array tanpa toString , sing kapindho nampilake array nggunakake toString , sing katelu minangka array sing diurutake, sing kaping papat minangka indeks saka nomer sing dikarepake 5 ing array sing diurutake (elinga yen kita ngetang saka nul, dadi unsur kaping papat saka array duwe indeks 3). Ing baris kaping lima kita ndeleng nilai -1 . Array ora duwe indeks kasebut. Output menehi tandha yen unsur sing dikarepake (ing kasus iki, 0) ora ana ing array.

Luwih lengkap babagan metode kelas Array

Kelas Arrays lan panggunaane - artikel kasebut nggambarake sawetara metode kelas Array

Sing utama babagan array

  • Karakteristik utama array: jinis data sing dilebokake, jeneng lan dawa.
    Sing terakhir diputusake sajrone initialization (alokasi memori kanggo array), rong paramèter pisanan ditemtokake nalika ngumumake array.

  • Ukuran array (jumlah sel) kudu ditetepake ing int

  • Sampeyan ora bisa ngganti dawa array sawise wis digawe.

  • Unsur array bisa diakses kanthi indeks.

  • Ing larik, kaya ing papan liya ing Jawa, unsur diwilang wiwit saka nol.

  • Sawise prosedur nggawe array, diisi karo nilai standar.

  • Array ing Jawa disusun kanthi beda tinimbang ing C++. Padha meh padha karo penunjuk kanggo susunan dinamis.

Bahan sing migunani babagan susunan

Pengin ngerti luwih akeh babagan array? Mangga deleng artikel ing ngisor iki. Ana akeh informasi sing menarik lan migunani babagan topik iki.
  1. Soko Babagan Arrays - Artikel rinci sing apik babagan array

  2. Kelas Arrays lan panggunaane - artikel kasebut nggambarake sawetara metode kelas Array

  3. Array multidimensional - artikel rinci babagan array multidimensi kanthi conto.

  4. Mbalikake array nol-dawa, ora null - Pengarang Pemrograman Efektif Joshua Bloch ngomong babagan cara ngasilake array kosong sing luwih apik

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION