Rumah  >  Artikel  >  Java  >  Apakah prinsip tatasusunan dinamik dalam java

Apakah prinsip tatasusunan dinamik dalam java

WBOY
WBOYke hadapan
2023-05-02 17:40:071378semak imbas

1. Konsep asas tatasusunan

1. Apakah itu tatasusunan?

Mungkin yang paling biasa digunakan ialah tatasusunan.

Ia adalah struktur data yang paling banyak digunakan Ia adalah koleksi elemen jenis data yang sama (boleh menjadi jenis asas atau jenis tersuai) yang disusun dalam susunan tertentu pesanan. Terdapat tatasusunan satu dimensi, tatasusunan dua dimensi dan tatasusunan berbilang dimensi.

Pemahaman yang popular ialah kita biasanya meletakkan sekumpulan biri-biri atau sekumpulan lembu dalam bulatan ini bersamaan dengan bekas tatasusunan, dan setiap biri-biri adalah bersamaan dengan elemen.

Konsep di atas memerlukan mengetahui perkataan ini: jenis data yang sama, susunan tertentu, pengumpulan dan storan berjujukan dalam ingatan.

2. Cara mengisytiharkan tatasusunan

Seperti yang anda lihat daripada tajuk, mengisytiharkan dan mencipta tatasusunan ialah dua proses yang berbeza. Kesan kenyataan itu seperti memberitahu orang lain bahawa saya akan mandi, dan kesan penciptaan adalah seperti memberitahu orang lain bahawa saya sebenarnya akan mandi (metafora yang tidak sesuai haha). Jadi bagaimana untuk mengisytiharkan tatasusunan?

int[] students ; int students [];

Daripada perkara di atas kita dapat melihat bahawa terdapat dua cara, tetapi yang pertama biasanya disyorkan. Lagipun, yang pertama kelihatan lebih mudah dibaca.

3. Cara membuat tatasusunan

Selepas kita tahu cara mengisytiharkan tatasusunan, langkah seterusnya ialah cara membuat tatasusunan. Bahasa yang berbeza mempunyai cara yang berbeza untuk membuat tatasusunan, tetapi secara umumnya adalah sama. Berikut adalah beberapa kaedah di Jawa.

//第一种: int [] students = new  int[50]; //第二种: String [] colors =  {"red","blue","black"};

Daripada perkara di atas, anda dapat melihat bahawa membuat tatasusunan adalah sangat mudah. ​​Jangan risau, sebenarnya terdapat banyak mata pengetahuan yang perlu dikuasai dalam ketiga-tiga kaedah ini. Malah, terdapat pautan dalam penciptaan tatasusunan yang dipanggil inisialisasi tatasusunan. Sebagai contoh, saya mencipta tatasusunan, tetapi nilai mungkin tidak berada dalam bekas tatasusunan pada mulanya. Jadi bilakah nilai-nilai ini wujud? Iaitu, bilakah sistem memasang merah, biru, dll. Saya mengisytiharkan ke dalam bekas tatasusunan Proses ini adalah permulaan tatasusunan? Bagaimanakah tatasusunan dimulakan?

Pemulaan tatasusunan dibahagikan kepada pemulaan statik dan pemulaan dinamik:

  • Pemulaan statik: Tatasusunan dinyatakan secara eksplisit oleh pengaturcara semasa pemulaan Nilai awal elemen tatasusunan. Panjang tatasusunan ditentukan oleh sistem. Antara tiga cara untuk mencipta tatasusunan di atas, yang ketiga ialah pemulaan statik. Yang kedua adalah sama, tetapi ia adalah cara pemulaan statik yang dipermudahkan.

  • Pemulaan dinamik: Semasa pemulaan dinamik, bilangan elemen mesti ditentukan. Semasa pemulaan dinamik, bilangan elemen tatasusunan tidak diketahui dan mesti dinyatakan. Yang pertama di atas ialah.

4 Pengelasan tatasusunan

Anda mungkin mempunyai soalan selepas melihat tajuk ini. Adakah terdapat klasifikasi untuk tatasusunan? untuk mengklasifikasikan jenis tatasusunan yang sama? Tidak juga. Izinkan saya memberi anda klasifikasi yang baik:

** Mengikut sama ada ia disusun atau tidak: ** Tatasusunan tertib dan tatasusunan tidak tertib.

Menurut sama ada tatasusunan boleh dikembangkan, ia terbahagi kepada: tatasusunan statik dan tatasusunan dinamik.

Mula-mula kita lihat tatasusunan statik: tatasusunan yang memperuntukkan memori pada tindanan semasa penyusunan ruang storan tidak boleh ditukar semasa masa jalan dan dikeluarkan secara automatik oleh sistem selepas masa jalan.

Mari kita lihat tatasusunan dinamik: Tatasusunan dinamik adalah relatif kepada tatasusunan statik. Panjang tatasusunan statik dipratentukan dan tidak boleh diubah sepanjang keseluruhan program setelah saiz diberikan. Ini tidak berlaku dengan tatasusunan dinamik, yang boleh diubah saiznya mengikut keperluan program. Ruang memori tatasusunan dinamik diperuntukkan daripada timbunan (iaitu, diperuntukkan secara dinamik). Ia memperuntukkan ruang storan dengan melaksanakan kod. Pernyataan ini diperuntukkan apabila program melaksanakannya. Pengaturcara bertanggungjawab untuk membebaskan memori.

Prinsip tatasusunan dinamik dalam java

Terdapat tatasusunan sedia ada:

int [] data = new int[5];

Apakah prinsip tatasusunan dinamik dalam java

Tatasusunan tidak lagi boleh menambah elemen, jadi kami memulakan tatasusunan baharu dengan kapasiti 10, iaitu 2 kali ganda kapasiti tatasusunan arr: int [] newData = baru int [ 10];

Apakah prinsip tatasusunan dinamik dalam java

Kemudian tetapkan semua elemen tatasusunan asal kepada tatasusunan baharu.

Apakah prinsip tatasusunan dinamik dalam java

Kemudian halakan arr rujukan tatasusunan asal ke tatasusunan baharu.

Apakah prinsip tatasusunan dinamik dalam java

Perbandingan tatasusunan statik dan tatasusunan dinamik:

Untuk tatasusunan statik, ia sangat mudah untuk dibuat dan tidak perlu dikeluarkan selepas digunakan. Ia mudah untuk dirujuk, tetapi ketidakupayaan untuk menukar saiznya selepas penciptaan adalah kelemahan yang membawa maut Untuk tatasusunan dinamik, penciptaannya menyusahkan, dan ia mesti dikeluarkan oleh pengaturcara selepas digunakan, jika tidak, ia akan menyebabkan serius! kebocoran ingatan. Tetapi penggunaannya sangat fleksibel dan saiznya boleh diperuntukkan secara dinamik mengikut keperluan program.

2. Ciri tatasusunan

Setelah menguasai konsep asas di atas, mari kita lihat ciri-ciri tatasusunan juga berdasarkan klasifikasinya data. Unordered Kami memasukkan dan memadam data. Jadi ciri-ciri yang disebutkan di sini adalah ciri-ciri yang biasa kepada semua tatasusunan, iaitu, ciri-ciri umum: kembali kepada artikel yang saya siarkan sebelum ini, ciri-cirinya adalah mengenai kecekapan masa dan kecekapan ruang.

1. Panjang tatasusunan ditetapkan Apabila ia melebihi panjang, anda hanya boleh membuat tatasusunan baharu dan menghantar nilai tatasusunan ke dalamnya daripada tatasusunan Ia adalah tunggal, dan tatasusunan yang sama hanya boleh menyimpan data daripada jenis data yang sama.

3. Tatasusunan hanya boleh mengakses data melalui subskrip

3 Senario penggunaan tatasusunan

Kelebihan terbesar tatasusunan berbanding bekas ialah kecekapan . Di Java, tatasusunan ialah cara yang paling cekap untuk menyimpan dan mengakses jujukan rujukan objek secara rawak Tatasusunan ialah jujukan linear yang mudah, yang menjadikan akses elemen sangat pantas Kelebihan tatasusunan ialah kecekapan tinggi, tetapi untuk ini, ia kos yang banyak Harganya ialah saiz objek tatasusunan adalah tetap. Ini juga menjadikan tatasusunan tidak praktikal di tempat kerja. Kita harus memilih bekas dalam java dan bukannya tatasusunan.

4. Pelaksanaan asas tatasusunan

Pelaksanaan asas di sini juga dibandingkan dengan bahasa Java Sebagai contoh, dalam artikel akan datang, data seperti senarai terpaut Saya juga akan bercakap tentang struktur bersempena dengan bekas yang dilaksanakan oleh senarai terpaut di Jawa.

Java menyediakan API koleksi dan kelas koleksi yang hebat seperti ArrayList dan HashMap, yang semuanya berdasarkan tatasusunan secara dalaman. Java Jika program cuba mengakses indeks tatasusunan yang tidak sah, jvm akan membuang ArrayIndexOutOfBoundException.

Apakah prinsip pelaksanaan tatasusunan dalam bahasa Java?

Soalan ini melibatkan prinsip penyusunan. Saya hanya boleh mengatakan bahawa ini ialah spesifikasi kompilasi. Dalam spesifikasi, sebagai contoh: int in int[] memberitahu komputer bahawa ini adalah data integer, dan [] memberitahu komputer bahawa ini adalah ruang alamat memori untuk storan berterusan data ialah tatasusunan, dan tatasusunan hanyalah nama !!Array ialah jenis khas dalam Java, yang berbeza daripada objek "contoh kelas" biasa.

Mengambil HotSpot VM sebagai contoh, jawapannya ialah terdapat medan panjang dalam pengepala objek objek tatasusunan untuk merekodkan panjang tatasusunan. Pelaksanaan kod byte arraylength hanya perlu membaca medan _length. Objek tatasusunan dalam JVM ialah objek khas Tajuk Objeknya mempunyai satu perkataan lagi daripada objek biasa untuk menyimpan panjang tatasusunan.

Atas ialah kandungan terperinci Apakah prinsip tatasusunan dinamik dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam