首頁  >  文章  >  Java  >  Java中的集合處理練習題

Java中的集合處理練習題

WBOY
WBOY原創
2023-06-15 09:52:371408瀏覽

Java是一門極為流行的程式語言,它廣泛應用於各種場景,包括網路開發、行動應用程式開發、桌面應用程式等。 Java提供了豐富的集合類別庫來幫助開發人員處理各種資料結構,包括陣列、鍊錶、堆疊、佇列和映射等。

在Java中,集合是一種存放資料項目的容器。 Java集合類別庫可以分為兩個層次結構:集合介面和集合實作類別。集合介面是一組規範,定義了一系列的方法,用於操作集合中的元素。集合實作類別是基於介面的現實,提供了具體的實作細節,如ArrayList,LinkedList,HashSet等。

在本文中,我們將介紹一些常見的Java集合處理練習題,幫助讀者提升對Java集合運算的掌握。

  1. 找出陣列中的重複元素

給定一個整數數組,找出其中的重複元素。例如,對於數組{1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5},應輸出1, 4和5。

解決這個問題的一種方法是使用HashSet。我們可以遍歷數組中的每個元素,並將它們加入HashSet中。如果一個元素已經存在於HashSet中,就表示它是重複的。以下是程式碼實作:

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. 合併兩個有序數組

給定兩個有序整數數組,將它們合併為一個排序數組。例如,對於陣列{1, 3, 5, 7}和{2, 4, 6, 8},應輸出{1, 2, 3, 4, 5, 6, 7, 8}。

解決這個問題的一種方法是,建立一個新的陣列來保存合併後的結果。接著,我們可以使用兩個指標分別指向兩個陣列中的元素,並比較它們的大小。將較小元素新增至新數組中,並將指標向前移動一位。以下是程式碼實作:

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. 計算一個字串中每個字元出現的次數

給定一個字串,計算其中每個字元出現的次數。例如,對於字串"Java is a great language",應輸出字元'J'出現1次,字元'a'出現4次等。

解決這個問題的一種方法是,遍歷字串中的每個字符,並將它們添加到HashMap中。將每個字元作為鍵,出現次數作為值。以下是程式碼實作:

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() + "次。");
}

Java集合是Java程式設計的重要組成部分。本文介紹了一些常見的Java集合處理練習題,有助於讀者加深對Java集合運算的理解與應用。

以上是Java中的集合處理練習題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn