Perbedaan antara array java dan arraylist
1) Penjelasan yang tajam:
Pikirkan ArrayList sebagai "array yang secara otomatis memperkuat kapasitas".
2) array ([]): Yang paling efisien; Tetapi kapasitasnya diperbaiki dan tidak dapat diubah secara dinamis;
ArrayList: Kapasitas dapat tumbuh secara dinamis; tetapi efisiensi pengorbanan;
3) Saran:
Berdasarkan efisiensi dan verifikasi jenis, array harus digunakan sebanyak mungkin. ArrayList harus digunakan hanya jika ukuran array tidak dapat ditentukan!
Tetapi ketika Anda mencoba memecahkan masalah yang lebih umum, fungsi array mungkin terlalu terbatas.
4) Segala sesuatu di Java adalah objek, dan array juga merupakan objek. Terlepas dari jenis array yang Anda gunakan,
Nama array itu sendiri sebenarnya adalah referensi, menunjuk ke objek nyata di dalam tumpukan.
Objek ini dapat dihasilkan secara otomatis melalui "Sintaks Inisialisasi Array" atau secara manual dalam ekspresi baru.
5) Array dapat digunakan sebagai nilai pengembalian fungsi karena itu sendiri adalah referensi dari objek;
6) Array objek hampir persis sama dengan array tipe dasar yang digunakan. Satu -satunya perbedaan adalah bahwa yang pertama memegang referensi, sedangkan yang terakhir secara langsung memegang nilai tipe dasar;
Misalnya:
String [] Staff = String baru [100]; int [] num = int int [10];
7) Apa yang dimiliki wadah sebenarnya adalah referensi yang menunjuk ke objek, sehingga jenis apa pun dapat disimpan. Tentu saja ini tidak termasuk tipe dasar, karena tipe dasar tidak mewarisi dari kelas mana pun.
8) Dalam menghadapi array, kita dapat secara langsung memegang array dari nilai tipe dasar (misalnya: int [] num;), atau array referensi (menunjuk ke objek); tetapi kelas wadah hanya dapat menahan referensi (menunjuk ke objek). Untuk menempatkan tipe dasar dalam wadah, kita perlu menggunakan kelas pembungkus. Namun, kelas pembungkus mungkin tidak mudah digunakan. Selain itu, efisiensi array primitif jauh lebih baik daripada wadah yang "menerima referensi tipe dasar".
Tentu saja, jika objek operasi Anda adalah tipe dasar dan perlu secara otomatis memperkuat kapasitas ketika ada ruang yang tidak mencukupi, array tidak akan cocok, jadi Anda harus menggunakan wadah jenis penutup.
9) Dalam beberapa kasus, kelas kontainer masih dapat beroperasi dengan benar bahkan jika mereka belum berubah menjadi tipe aslinya. Ada situasi yang sangat istimewa: kompiler memberikan beberapa dukungan ekstra untuk kelas string agar berfungsi dengan lancar.
10) Beberapa operasi dasar pada array, seperti penyortiran, pencarian dan perbandingan, sangat umum. Oleh karena itu, kelas array disediakan di Java untuk membantu dalam operasi ini: sort (), binarysearch (), equals (), fill (), aslist ().
Namun, kelas array tidak memberikan metode hapus, dan ada metode lepas () di ArrayList. Saya tidak tahu apakah itu karena tidak perlu melakukan operasi hapus dalam array (karena Anda harus menggunakan daftar yang ditautkan saat ini).
11) Penggunaan ArrayList juga sangat sederhana: menghasilkan daftar array, gunakan add () untuk menempatkan objek, dan gunakan Get (i) untuk mencocokkan nilai indeks untuk menghapusnya. Semua ini persis sama dengan penggunaan array, tetapi hanya ada lebih sedikit [].
2. Bahan referensi:
1) Efisiensi:
Ekspansi array adalah faktor yang memiliki dampak yang lebih besar pada efisiensi daftar array.
Setiap kali metode seperti Add, Addrange, Insert, InserTrange dijalankan, mereka akan memeriksa apakah kapasitas array internal tidak cukup. Jika demikian, itu akan membangun kembali array dengan dua kali kapasitas saat ini, salin elemen lama ke array baru, dan kemudian buang array lama. Operasi ekspansi pada titik kritis ini harus lebih berpengaruh dalam efisiensi.
ArrayList adalah versi array yang kompleks
ArrayList merangkum array tipe objek. Secara umum, ia tidak memiliki perbedaan penting dari array. Bahkan banyak metode arraylist, seperti indeks, indeks dari, berisi, mengurutkan, dll., Langsung memanggil metode yang sesuai dengan array berdasarkan array internal.
2) Ketik Identifikasi:
Ketika ArrayList menyimpan objek, informasi jenis dibuang dan semua objek diblokir sebagai objek. Jenisnya tidak diperiksa selama kompilasi, tetapi kesalahan akan dilaporkan saat runtime.
Perbedaan antara arraylist dan array terutama disebabkan oleh efisiensi peningkatan kapasitas dinamis.
3) Daftar Array dapat menyimpan objek apa pun, seperti string, dll.
Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!