cari
RumahJavajavaTutorialApakah struktur data rangka kerja pengumpulan Java

    Apakah itu rangka kerja koleksi?

    Di Java, terdapat satu set struktur data sedia, seperti senarai jujukan, senarai terpaut, baris gilir, tindanan, baris gilir keutamaan, jadual cincang, dsb., yang dirangkumkan ke dalam antara muka/kelas yang sepadan untuk pengaturcara untuk terus Untuk menggunakannya, anda hanya perlu mencipta objek yang berkaitan untuk menggunakannya, tanpa perlu melaksanakan struktur dalaman mereka.

    Kutipan ialah struktur data yang menyimpan dan mengurus berbilang elemen, di mana elemen ini diletakkan dalam satu unit dan boleh diproses melalui operasi seperti penambahan, pemadaman, pengubahsuaian dan pertanyaan. Contohnya, satu set kad permainan (kumpulan kad), buku alamat (satu set hubungan pemetaan antara nama dan nombor telefon), dsb. boleh digunakan sebagai contoh.

    Gambar di bawah sangat penting! ! ! Anda perlu ingat antara muka dan kelas yang biasa digunakan! !

    Apakah struktur data rangka kerja pengumpulan Java

    Apakah struktur data rangka kerja pengumpulan Java

    Oleh kerana antara muka peta tidak melaksanakan antara muka Iterable, bagaimana untuk melaksanakannya untuk melintasi elemen?

    		Map<Integer,String> map = new HashMap();
            map.put(1,"jack");
            map.put(2,"tom");
            Set<Map.Entry<Integer, String>> entries = map.entrySet();
            // 使用迭代器进行遍历 ,增强 for同理
            Iterator<Map.Entry<Integer, String>> iterator = entries.iterator();
            while (iterator.hasNext()) {
                Map.Entry<Integer, String> entry =  iterator.next();
                System.out.println(entry.getKey() + " " + entry.getValue());
            }

    Mengambil HashMap sebagai contoh, anda boleh memanggil kaedah entrySet() untuk merangkum setiap pasangan nilai kunci dalam peta ke dalam Map.Entry antara muka Set digunakan untuk menerimanya, anda boleh menggunakan iterator atau for-each() untuk melintasi, dan setiap objek masukan mempunyai kaedah getKey() dan getValue() untuk mendapatkan nilai kunci dan nilai nilai masing-masing.

    Perhubungan asas (versi ringkas)

    Apakah struktur data rangka kerja pengumpulan Java

    2 antara muka Koleksi

    diterima umum oleh antara muka atau kelas yang melaksanakan antara muka Koleksi. Laksanakan secara khusus objek kelas, kerana seperti yang dapat dilihat dari rajah di atas, antara muka Koleksi ialah antara muka induk bagi satu siri antara muka dan kelas Ia mempunyai sedikit kaedah yang dilaksanakan secara dalaman, jadi ia tidak boleh memanggil beberapa kaedah biasa subkelas .

    1. Tentukan jenis objek dalam koleksi yang sepadan melalui generik

    Nota: Jenis yang dihantar di sini hanya boleh menjadi jenis rujukan Jika ia adalah jenis data asas, kelas pembalutnya digunakan. Nyatakan

    		Collection<String> collection1 = new ArrayList();
            collection1.add("haha");
            collection1.add("world");
            Collection<Integer> collection2 = new ArrayList();
            collection2.add(1);
            collection2.add(2);
            //collection2.add("hh");// 这里会报错,不符合传入的指定类型Integer

    2. Kaedah biasa koleksi gunakan

    方法 作用
    void clear() 删除集合中的所有元素
    boolean isEmpty() 判断集合是否没有任何元素,俗称空集合
    boolean remove(Object e) 如果元素 e 出现在集合中,删除其中一个
    boolean add(E e) 将元素 e 放入集合中
    int size() 返回集合中的元素个数
    Object[] toArray() 返回一个装有所有集合中元素的数组

    Nota: Dalam kaedah Object[] toArray() terakhir, tatasusunan jenis Object[] dikembalikan, pendekatan asas Ya: Keluarkan elemen dalam koleksi satu demi satu, tukarkannya menjadi objek Objek, simpannya dalam tatasusunan untuk dikembalikan, dan akhirnya kembalikan tatasusunan jenis Objek[]. Pengecualian penukaran jenis dilemparkan apabila menukar kepada tatasusunan String[].

    Apakah struktur data rangka kerja pengumpulan Java

    Oleh kerana tiada jaminan bahawa setiap elemen dalam tatasusunan ditukar kepada String, tetapi ia hanya dipaksa untuk ditukar secara keseluruhan kepada tatasusunan jenis String[] , jadi jika anda perlu Untuk menukar, anda perlu terlebih dahulu merentasi hasil yang dikembalikan, menukarnya kepada jenis String satu demi satu, dan akhirnya menetapkannya kepada tatasusunan jenis String[]. Ia tidak disyorkan untuk menukar jenis tatasusunan secara keseluruhan di Jawa.

    		Object[] objects = collection1.toArray();
            String[] strings = new String[objects.length];
            for (int i = 0; i < objects.length; i++) {
                strings[i] = (String)objects[i];// 一个一个转,但是没啥必要
            }

    3. Antara muka peta

    menyimpan data dalam bentuk Nilai nilai yang sepadan. Nilai kunci yang berbeza boleh sepadan dengan nilai yang sama. HashMap: Apabila menyimpan elemen, fungsi hashCode dalaman dipanggil berdasarkan nilai utamanya untuk mencari lokasi di mana elemen harus diletakkan Oleh itu, elemen dalam jadual hash tidak disimpan dalam susunan ia disimpan.

    Cara biasa untuk menggunakan Peta

    方法 作用
    V get(Object k) 根据指定k查找对应v
    V getOrDefault(Object k, V defaultValue) 根据指定的 k 查找对应的 v,没有找到则返回默认值
    V put(K key, V value) 将指定的 k-v 放入 Map
    boolean containsKey(Object key) 判断是否包含 key
    boolean containsValue(Object value) 判断是否包含 value
    Set> entrySet() 将所有键值对返回
    boolean isEmpty() 判断是否为空
    int size() 返回键值对的数量
    		HashMap<Integer, String> map = new HashMap<>();
    
            // put()
            map.put(1,"张飞");// 这里的 key 值唯一
            map.put(1,"宋江");// 如果二次插入的 key 值之前有,则替换其 value值
            map.put(2,"Jack");
            System.out.println(map);
    
            // get()
            String s1 = map.get(1);// 返回 宋江
            String s3 = map.getOrDefault(3,"三团");// 未找到,返回 三团
    
            // entrySet()
            // 该方法返回一个 Set<Map.Entry<Integer, String>> 对象
            Set<Map.Entry<Integer, String>> entries = map.entrySet();
            for (Map.Entry<Integer, String> entry : entries) {
                // 通过 entry.getKey() 和 entry.getValue() 获取每个entry对应的 k, v值
                System.out.println(entry.getKey() + " " + entry.getValue());
            }

    Apakah struktur data rangka kerja pengumpulan Java

    4、具体的实现类

    Apakah struktur data rangka kerja pengumpulan Java

    Atas ialah kandungan terperinci Apakah struktur data rangka kerja pengumpulan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan
    Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
    Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

    Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

    Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

    Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

    Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

    Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

    Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

    Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

    Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

    Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

    See all articles

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Arahan sembang dan cara menggunakannya
    1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    MinGW - GNU Minimalis untuk Windows

    MinGW - GNU Minimalis untuk Windows

    Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

    EditPlus versi Cina retak

    EditPlus versi Cina retak

    Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    SublimeText3 Linux versi baharu

    SublimeText3 Linux versi baharu

    SublimeText3 Linux versi terkini

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa