Maison > Java > javaDidacticiel > Exercices de traitement de collection en Java

Exercices de traitement de collection en Java

WBOY
Libérer: 2023-06-15 09:52:37
original
1461 Les gens l'ont consulté

Java est un langage de programmation extrêmement populaire qui est largement utilisé dans divers scénarios, notamment le développement Web, le développement d'applications mobiles, les applications de bureau, etc. Java fournit une riche bibliothèque de classes de collection pour aider les développeurs à gérer diverses structures de données, notamment les tableaux, les listes chaînées, les piles, les files d'attente et les cartes.

En Java, une collection est un conteneur qui stocke des éléments de données. La bibliothèque de classes de collection Java peut être divisée en deux hiérarchies : les interfaces de collection et les classes d'implémentation de collection. Une interface de collection est un ensemble de spécifications qui définit une série de méthodes permettant d'opérer sur les éléments d'une collection. La classe d'implémentation de collection est basée sur la réalité de l'interface et fournit des détails d'implémentation spécifiques, tels que ArrayList, LinkedList, HashSet, etc.

Dans cet article, nous présenterons quelques exercices courants de traitement de collection Java pour aider les lecteurs à améliorer leur maîtrise des opérations de collection Java.

  1. Trouvez les éléments en double dans le tableau

Étant donné un tableau d'entiers, recherchez les éléments en double qu'il contient. Par exemple, pour le tableau {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5}, 1, 4 et 5 doivent être générés.

Une façon de résoudre ce problème consiste à utiliser un HashSet. Nous pouvons parcourir chaque élément du tableau et les ajouter au HashSet. Si un élément existe déjà dans le HashSet, il s'agit d'un doublon. Voici l'implémentation du code :

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);
Copier après la connexion
  1. Fusionner deux tableaux triés

Étant donné deux tableaux d'entiers triés, fusionnez-les en un tableau trié. Par exemple, pour les tableaux {1, 3, 5, 7} et {2, 4, 6, 8}, {1, 2, 3, 4, 5, 6, 7, 8} doit être affiché.

Une façon de résoudre ce problème consiste à créer un nouveau tableau pour contenir les résultats fusionnés. Ensuite, nous pouvons utiliser deux pointeurs pour pointer vers les éléments des deux tableaux et comparer leurs tailles. Ajoute le plus petit élément au nouveau tableau et déplace le pointeur d'une position vers l'avant. Voici l'implémentation du code :

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));
Copier après la connexion
  1. Comptez le nombre de fois où chaque caractère apparaît dans une chaîne

Étant donné une chaîne, comptez le nombre de fois où chaque caractère y apparaît. Par exemple, pour la chaîne « Java est un excellent langage », le caractère « J » doit être affiché une fois, le caractère « a » doit apparaître 4 fois, etc.

Une façon de résoudre ce problème consiste à parcourir chaque caractère de la chaîne et à les ajouter à un HashMap. Traitez chaque caractère comme une clé et le nombre d'occurrences comme une valeur. Voici l'implémentation du code :

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() + "次。");
}
Copier après la connexion

Les collections Java sont une partie importante de la programmation Java. Cet article présente quelques exercices courants de traitement de collection Java pour aider les lecteurs à approfondir leur compréhension et leur application des opérations de collection Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal