Rumah  >  Artikel  >  Java  >  Latihan pemprosesan koleksi di Jawa

Latihan pemprosesan koleksi di Jawa

WBOY
WBOYasal
2023-06-15 09:52:371408semak imbas

Java ialah bahasa pengaturcaraan yang sangat popular yang digunakan secara meluas dalam pelbagai senario, termasuk pembangunan web, pembangunan aplikasi mudah alih, aplikasi desktop, dll. Java menyediakan perpustakaan kelas koleksi yang kaya untuk membantu pembangun menangani pelbagai struktur data, termasuk tatasusunan, senarai terpaut, tindanan, baris gilir dan peta.

Di Java, koleksi ialah bekas untuk menyimpan item data. Pustaka kelas koleksi Java boleh dibahagikan kepada dua hierarki: antara muka koleksi dan kelas pelaksanaan koleksi. Antara muka koleksi ialah satu set spesifikasi yang mentakrifkan satu siri kaedah untuk beroperasi pada elemen dalam koleksi. Kelas pelaksanaan koleksi adalah berdasarkan realiti antara muka dan menyediakan butiran pelaksanaan khusus, seperti ArrayList, LinkedList, HashSet, dsb.

Dalam artikel ini, kami akan memperkenalkan beberapa latihan pemprosesan koleksi Java yang biasa untuk membantu pembaca meningkatkan penguasaan mereka terhadap operasi pengumpulan Java.

  1. Cari elemen pendua dalam tatasusunan

Memandangkan tatasusunan integer, cari unsur pendua di dalamnya. Sebagai contoh, untuk tatasusunan {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5}, 1, 4 dan 5 hendaklah dikeluarkan.

Salah satu cara untuk menyelesaikan masalah ini ialah menggunakan HashSet. Kita boleh mengulangi setiap elemen dalam tatasusunan dan menambahkannya pada HashSet. Jika elemen sudah wujud dalam HashSet, ia adalah pendua. Berikut ialah pelaksanaan kod:

int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5};
Set<Integer> set = new HashSet<>();
Set<Integer> duplicates = new HashSet<>();

for (int i : arr) {
    if (!set.add(i)) {
        duplicates.add(i);
    }
}

System.out.println("重复元素为:" + duplicates);
  1. Gabungkan dua tatasusunan yang diisih

Memandangkan dua tatasusunan integer yang diisih, cantumkannya ke dalam tatasusunan yang diisih. Sebagai contoh, untuk tatasusunan {1, 3, 5, 7} dan {2, 4, 6, 8}, {1, 2, 3, 4, 5, 6, 7, 8} hendaklah dikeluarkan.

Satu cara untuk menyelesaikan masalah ini ialah mencipta tatasusunan baharu untuk menyimpan hasil gabungan. Kemudian, kita boleh menggunakan dua penunjuk untuk menunjuk kepada elemen dalam dua tatasusunan dan membandingkan saiznya. Menambah elemen yang lebih kecil pada tatasusunan baharu dan menggerakkan penuding ke hadapan satu kedudukan. Berikut ialah pelaksanaan kod:

int[] arr1 = {1, 3, 5, 7};
int[] arr2 = {2, 4, 6, 8};
int len1 = arr1.length;
int len2 = arr2.length;
int[] result = new int[len1 + len2];

int i = 0, j = 0, k = 0;
while (i < len1 && j < len2) {
    if (arr1[i] < arr2[j]) {
        result[k++] = arr1[i++];
    } else {
        result[k++] = arr2[j++];
    }
}

while (i < len1) {
    result[k++] = arr1[i++];
}

while (j < len2) {
    result[k++] = arr2[j++];
}

System.out.println(Arrays.toString(result));
  1. Kira bilangan kali setiap aksara muncul dalam rentetan

Diberi rentetan, hitung bilangan kali setiap aksara muncul dalam ia. Contohnya, untuk rentetan "Java is a great language", aksara 'J' hendaklah dikeluarkan sekali, aksara 'a' sepatutnya muncul 4 kali, dsb.

Satu cara untuk menyelesaikan masalah ini ialah dengan menggelung setiap aksara dalam rentetan dan menambahkannya pada HashMap. Anggap setiap aksara sebagai kunci dan bilangan kejadian sebagai nilai. Berikut ialah pelaksanaan kod:

String str = "Java is a great language";
Map<Character, Integer> map = new HashMap<>();

for (int i = 0; i < str.length(); i++) {
    char c = str.charAt(i);

    if (c == ' ') {
        continue;
    }

    if (map.containsKey(c)) {
        map.put(c, map.get(c) + 1);
    } else {
        map.put(c, 1);
    }
}

for (Map.Entry<Character, Integer> entry : map.entrySet()) {
    System.out.println("字符'" + entry.getKey() + "'出现" + entry.getValue() + "次。");
}

Koleksi Java ialah bahagian penting dalam pengaturcaraan Java. Artikel ini memperkenalkan beberapa latihan pemprosesan koleksi Java biasa untuk membantu pembaca mendalami pemahaman dan aplikasi operasi pengumpulan Java.

Atas ialah kandungan terperinci Latihan pemprosesan koleksi di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn