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! !
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
Perhubungan asas (versi ringkas)
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[].
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 |
将所有键值对返回 |
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()); }
4、具体的实现类
Atas ialah kandungan terperinci Apakah struktur data rangka kerja pengumpulan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

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

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

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]

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


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

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
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa