cari

Rumah  >  Soal Jawab  >  teks badan

java - 使用ArrayList<String> 和 使用HashMap<String, String> 存储键值对,哪个速度更快一些

ringa_leeringa_lee2887 hari yang lalu721

membalas semua(6)saya akan balas

  • 高洛峰

    高洛峰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.

    balas
    0
  • 大家讲道理

    大家讲道理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;

    balas
    0
  • PHPz

    PHPz2017-04-18 10:43:08

    Ini berkaitan dengan jumlah data

    balas
    0
  • 巴扎黑

    巴扎黑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

    balas
    0
  • PHPz

    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 >

    balas
    0
  • 高洛峰

    高洛峰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);

    balas
    0
  • Batalbalas