JavaRush /Blog Java /Random-MS /Tatasusunan Java
articles
Tahap

Tatasusunan Java

Diterbitkan dalam kumpulan

Tatasusunan

Tatasusunan ialah struktur data yang menyimpan nilai dari jenis yang sama. Elemen tatasusunan individu diakses menggunakan indeks integer. Sebagai contoh, jika a ialah tatasusunan integer, maka nilai ungkapan a[i] adalah sama dengan integer ke-i dalam tatasusunan. Tatasusunan Java - 1Tatasusunan diisytiharkan seperti berikut: pertama, jenis tatasusunan ditunjukkan, iaitu, jenis elemen yang terkandung dalam tatasusunan, diikuti oleh sepasang kurungan persegi kosong, dan kemudian nama pembolehubah. Sebagai contoh, berikut ialah cara untuk mengisytiharkan tatasusunan yang terdiri daripada integer:
int[] a;
Walau bagaimanapun, pernyataan ini hanya mengisytiharkan pembolehubah а, tanpa memulakannya dengan tatasusunan sebenar. Untuk membuat tatasusunan, anda perlu menggunakan operator new.
int[] a = new int [100];
Operator ini mencipta tatasusunan 100 integer. Unsur tatasusunan ini dinomborkan dari 0 hingga 99 (bukan dari 1 hingga 100). Setelah dibuat, tatasusunan boleh diisi, contohnya, menggunakan gelung.
int[] а = new int[100];
for (int i = 0; i < 100; i++)
 a[i] = i; //Заполняет массив числами от 0 до 99
Jika anda cuba mengakses elemen а [100](atau mana-mana elemen lain yang indeksnya berada di luar julat 0 hingga 99) dengan mencipta tatasusunan 100 elemen, atur cara akan ditamatkan kerana indeks tatasusunan di luar julat pengecualian akan berlaku . Untuk mengira bilangan elemen dalam tatasusunan, gunakan kaedah nama Tatasusunan .length. Sebagai contoh,
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
Sebaik sahaja tatasusunan dibuat, adalah mustahil untuk menukar saiznya (walaupun anda boleh, sudah tentu, menukar elemen individunya). Jika anda perlu menukar saiz tatasusunan dengan kerap semasa pelaksanaan program, lebih baik anda menggunakan struktur data lain yang dipanggil senarai tatasusunan. Tatasusunan boleh diisytiharkan dalam dua cara:
int[] a;
or
int a[];
Kebanyakan pengaturcara Java lebih suka gaya pertama kerana ia lebih jelas memisahkan jenis tatasusunan int [](tatasusunan integer) daripada nama pembolehubah.

Pemula tatasusunan dan tatasusunan tanpa nama

Java mempunyai kemudahan untuk mencipta tatasusunan dan memulakannya secara serentak. Berikut ialah contoh struktur sintaksis sedemikian:
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
Ambil perhatian bahawa dalam kes ini tidak perlu menggunakan operator new. Selain itu, anda juga boleh memulakan tatasusunan yang tidak dinamakan:
new int[] {16, 19, 23, 29, 31, 37}
Ungkapan ini memperuntukkan memori untuk tatasusunan baharu dan mengisinya dengan nombor yang dinyatakan dalam pendakap kerinting. Dalam kes ini, bilangan mereka dikira dan, dengan itu, saiz tatasusunan ditentukan. Pembinaan sintaksis ini mudah digunakan untuk memulakan semula tatasusunan tanpa mencipta pembolehubah baharu. Contohnya, ungkapan
smallPrimes = new int{17, 19, 23, 29, 31, 37};
ialah ungkapan yang dipendekkan
int[] anonymous = {17, 19, 23, 29, 31, 37};
smallPrimes = anonymous;
Anda boleh membuat tatasusunan saiz sifar. Tatasusunan sedemikian boleh berguna apabila menulis kaedah yang menilai tatasusunan yang ternyata kosong. Tatasusunan sifar panjang diisytiharkan seperti berikut:
new тип Элементов[]
Ambil perhatian bahawa tatasusunan sedemikian tidak bersamaan dengan objek null.

Menyalin tatasusunan

Satu tatasusunan boleh disalin ke yang lain, tetapi kedua-dua pembolehubah akan merujuk kepada tatasusunan yang sama.
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12; //Теперь элемент smallPrimes[5]также equals 12
Hasilnya ditunjukkan dalam Rajah. 3.1. Jika anda perlu menyalin semua elemen satu tatasusunan kepada yang lain, anda harus menggunakan kaedah arraycopy dari class System. Panggilannya kelihatan seperti ini:
System.arraycopy(from, fromlndex, to, tolndex, count);
Tatasusunan tomestilah cukup besar untuk mengandungi semua elemen untuk disalin. Tatasusunan Java - 2
Rajah.3.1. Menyalin tatasusunan
Sebagai contoh, pengendali yang ditunjukkan di bawah, keputusannya ditunjukkan dalam Rajah. 3.2, cipta dua tatasusunan dan kemudian salin empat elemen terakhir tatasusunan pertama ke dalam yang kedua. Penyalinan bermula dari kedudukan kedua dalam tatasusunan sumber, dan elemen yang disalin diletakkan dalam tatasusunan sasaran bermula dari kedudukan ketiga.
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
int[] luckyNumbers = {1001, 1002, 1003, 1004, 1005, 1006, 1007};
System.аrrаусору(smallPrimes, 2, luckyNumbers, 3, 4);
for (int i = 0; i < luckyNumbers.length; i++)
System.out.println(i + ": " + luckyNumbers[i]);
Melaksanakan pernyataan ini menghasilkan keputusan berikut.
0: 1001
1: 1002
2: 1003
3: 5
4: 7
5: 11
6: 13
Tatasusunan Java - 3
nasi. 3.2. Menyalin Elemen Tatasusunan
Tatasusunan dalam Java adalah jauh berbeza daripada tatasusunan dalam C++. Walau bagaimanapun, ia boleh dikatakan sama seperti penunjuk kepada tatasusunan dinamik. Ini bermakna bahawa pengendali
int[] a = new int[100]; //Java
adalah setara dengan operator
int* = new int[100]; //C++,
а не
int a[100]; //C++
Di Java, []pengendali lalai menyemak julat perubahan indeks. Selain itu, Java tidak mempunyai aritmetik penunjuk—anda tidak boleh menambah penunjuk untuk mengakses elemen tatasusunan seterusnya. Pautan ke sumber: tatasusunan Java
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION