Artikel ini membawakan anda pengetahuan yang berkaitan tentang java Ia terutamanya mengatur penggunaan antara muka Peta dan soalan berkaitan tentang titik pengetahuan temu bual, termasuk ciri storan antara muka Peta, kelas pelaksanaan biasa, Mari kita lihat. pada kaedah penciptaan, kaedah biasa, dsb., saya harap ia akan membantu semua orang.
Pembelajaran yang disyorkan: "tutorial video java"
Disimpan dalam bentuk kunci (kunci) nilai (nilai) pasangan
Kunci tidak tertib, tiada subskrip dan elemen tidak boleh diulang
Nilai tidak tertib, tiada subskrip dan elemen boleh diulang
HashMap
LinkedHashMap
TreeMap
.
HashTable
.
Properties
Map<键的泛型,值的泛型> 集合名=new 实现类名<键的泛型,值的泛型>();
petua: Pasangan nilai kunci ialah elemen
Lazimnya kaedah yang digunakan: Tambahkan pasangan nilai kunci pada penghujung koleksi 值 put(键,值)
: Kosongkan elemen koleksi void clear()
: Tentukan sama ada kunci tertentu wujud dalam koleksi boolean containsKey(键)
: Tentukan sama ada nilai tertentu wujud dalam setboolean containsValue(值)
: Dapatkan nilai yang sepadan dengan kunci值 get(键)
: Tentukan sama ada kandungan koleksi kosong dan tidak boleh menilai nilai nol boolean isEmpty()
: Tambahkan kandungan koleksi Peta yang ditentukan pada akhir koleksi semasa void putAll(Map的集合名)
: Keluarkan pasangan nilai kunci yang sepadan dengan kunci值 remove(键)
: Dapatkan nombor pasangan nilai kunci dalam koleksiint size()
Contoh kod:
public class Test { public static void main(String[] args) { //数字-String 1 - 一 1 - yi Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "一"); map.put(111, "yiyiyi"); map.put(666, "liuliuliu"); map.put(111, "一一一"); System.out.println(map.containsKey(678));//f System.out.println(map.containsValue("yiyiyi"));//t System.out.println(map.get(111)); map.remove(666); System.out.println(map.get(666)); System.out.println(map.size());//2 }}
//获取所有键 Set<键的泛型> set=集合名.keySet(); //遍历所有键 set.forEach( o-> //o就代表当前正在被遍历的键 //通过集合名.get(o)可以得到对应的值 );如: Map<Integer, String> map = new HashMap<>(); map.put(123, "yiersan"); map.put(234, "ersansi"); map.put(456, "siwuliu"); map.put(999, "jiujiujiu"); Set<Integer> set=map.keySet(); set.forEach(o-> System.out.println("键:"+o+",值:"+map.get(o)));
Collection<值的泛型> coll = 集合名.values();coll.forEach(v-> v就代表当前的值);如: Collection<String> coll = map.values(); coll.forEach(v-> System.out.println(v));
//获取键值对对象集合 Set<Map.Entry<键的泛型,值的泛型>> set2=集合名.entrySet(); for (Map.Entry entry : set2) { //通过entry.getKey()获取键 //通过entry.getValue()获取值 }如: Set<Map.Entry<键的泛型,值的泛型>> set2=集合名.entrySet(); for (Map.Entry entry : set2) { System.out.println("键:"+entry.getKey()+",值:"+entry.getValue()) } System.out.println("lambda自遍历:"); set2.forEach(entry-> System.out.println("键:"+entry.getKey()+",值:"+entry.getValue()));
集合名.forEach(new BiConsumer<键的泛型, 值的泛型>() { @Override public void accept(键的泛型 i, 值的泛型 s) { //i代表键 //s代表值 } }); System.out.println("lambda简化自遍历:"); map.forEach((k,v)-> k代表键,v代表值);如: map.forEach(new BiConsumer<Integer, String>() { @Override public void accept(Integer i, String s) { System.out.println("键:"+i+",值:"+s); } }); System.out.println("lambda简化自遍历:"); map.forEach((k,v)-> System.out.println("键:"+k+",值:"+v));
HashMap
boleh memastikan susunan deposit dan pengeluaran yang sama
LinkedHashMap
Boleh diisih dalam tertib menaik secara lalai mengikut kekunci
TreeMap
Jika kunci ialah jenis tersuai, anda mesti menetapkan pengisihan peraturan dalam cara yang sama TreeSet adalah konsisten
HashTable
Kunci dan nilai mestilah daripada jenis String
Properties
Generik tidak boleh diisytiharkan
Set
Panjang tatasusunan asas ialah Map
Apabila penggunaan bit tatasusunan mencapai 75%, tatasusunan akan dikembangkan dalam kaedah 16
Panjang pengembangan ialah panjang asal
Mengapa Set atau Peta menyimpan nilai dari kecil ke besar?
Pokok merah-hitam menggunakan kaedah carian binari, yang dicirikan oleh kecekapan pertanyaan pantas
Pokok merah-hitam: Gunakan nilai kod cincang sebagai kriteria Jika nilai kod cincang lebih besar daripada elemen semasa, simpannya di sebelah kanan nilai lebih kecil daripada elemen semasa, simpannya di sebelah kiri
Kaedah carian binari: Dicirikan dengan mengunci separuh daripada data pada satu masa
Apabila panjang senarai terpaut dalam tatasusunan jadual cincang mencapai 8 Apabila, ia akan menyusun semula elemen senarai terpaut dan membuka pokok merah-hitam
Pembelajaran yang disyorkan: "tutorial video java "
Atas ialah kandungan terperinci Penggunaan antara muka Peta dalam Java dan ringkasan mata pengetahuan temu bual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!