Rumah > Soal Jawab > teks badan
高洛峰2017-04-18 10:43:08
Tidak disyorkan untuk menggunakan kaedah ArrayList untuk menyimpan kunci dalam nombor genap dan menyimpan nilai dalam nombor ganjil Ini bertentangan dengan logik umum tentang cara kami menulis kod dan juga akan menyebabkan masalah besar kepada penyelenggara masa hadapan. Selain itu, prestasi telefon bimbit pada masa kini adalah sangat baik Dalam senario penggunaan anda, tidak perlu mempertimbangkan isu prestasi.
大家讲道理2017-04-18 10:43:08
Untuk kes di mana jumlah data yang anda nyatakan adalah kurang daripada 10, perbezaan antara ArrayList<String> dan HashMap<String, String> dari peringkat teknikal terlalu panjang berjela-jela^.^
ArrayList ialah koleksi tersusun, dan lapisan bawahnya sebenarnya adalah tatasusunan Jika ia dilalui dan disimpan, ia masih lebih pantas daripada HashMap, tetapi penambahan dan pemadamannya akan menjadi lebih perlahan, terutamanya menambah dan memadam dari tengah. senarai (jauh) )
HashMap ialah jadual cincang yang tidak tersusun dan susunan pertanyaannya berkaitan secara langsung dengan jumlah data, secara ringkasnya, semakin besar jumlah data, semakin perlahan pertanyaan itu.
Ringkasan:
Data kecil: Kedua-duanya boleh digunakan.
Data besar: ArrayList kerap digunakan untuk pertanyaan dan HashMap digunakan untuk penambahan, pemadaman dan perubahan yang kerap.
Data yang sangat besar: gunakan ArrayList;
巴扎黑2017-04-18 10:43:08
Ia bergantung pada cara anda menggunakannya. Jika anda hanya menyimpan dan melintasi Senarai, ia lebih pantas. Jika anda ingin menyemak nilai dengan kunci, Map adalah lebih pantas
PHPz2017-04-18 10:43:08
Walaupun saya tidak tahu mengapa anda ingin membandingkan List<String> dan Map<String, String> yang manakah lebih cepat dalam storan? Terdapat kelas pelaksanaan yang berbeza untuk kedua-dua antara muka ini, seperti ArrayList dan LinkedList sangat berbeza >
高洛峰2017-04-18 10:43:08
Prestasi telah diterangkan dengan sangat jelas di atas
Jika data yang disimpan kurang daripada 10, anda boleh terus menentukan nilai maksimum 10 semasa mengisytiharkan, yang boleh menjimatkan ruang memori
List<String> list = new ArrayList<>(10);
Map<String, String> map = new HashMap<>(10);