ホームページ >Java >&#&チュートリアル >Java でのコレクション処理の演習

Java でのコレクション処理の演習

WBOY
WBOYオリジナル
2023-06-15 09:52:371484ブラウズ

Java は、Web 開発、モバイル アプリケーション開発、デスクトップ アプリケーションなど、さまざまなシナリオで広く使用されている非常に人気のあるプログラミング言語です。 Java は、開発者が配列、リンク リスト、スタック、キュー、マップなどのさまざまなデータ構造を扱うのに役立つ豊富なコレクション クラス ライブラリを提供します。

Java では、コレクションはデータ項目を格納するためのコンテナです。 Java コレクション クラス ライブラリは、コレクション インターフェイスとコレクション実装クラスの 2 つの階層に分割できます。コレクション インターフェイスは、コレクション内の要素を操作するための一連のメソッドを定義する一連の仕様です。コレクション実装クラスはインターフェイスの実際に基づいており、ArrayList、LinkedList、HashSet などの特定の実装の詳細を提供します。

この記事では、読者が Java コレクション操作の習熟度を高めるのに役立つ、一般的な Java コレクション処理演習をいくつか紹介します。

  1. 配列内の重複要素を検索します。

整数配列を指定して、その中の重複要素を検索します。たとえば、配列 {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5} の場合、1、4、5 が出力されます。

この問題を解決する 1 つの方法は、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. 2 つのソートされた配列をマージする

2 つのソートされた整数配列が与えられた場合、それらを 1 つのソートされた配列にマージします。たとえば、配列 {1, 3, 5, 7} と {2, 4, 6, 8} の場合、{1, 2, 3, 4, 5, 6, 7, 8} が出力されます。

この問題を解決する 1 つの方法は、マージされた結果を保持する新しい配列を作成することです。次に、2 つのポインターを使用して 2 つの配列内の要素をポイントし、それらのサイズを比較します。小さい方の要素を新しい配列に追加し、ポインタを 1 つ前に移動します。コードの実装は次のとおりです。

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 は素晴らしい言語です」という文字列の場合、文字「J」は 1 回、文字「a」は 4 回出現する必要があります。

この問題を解決する 1 つの方法は、文字列内の各文字をループして 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。