Heim  >  Artikel  >  Java  >  Übungen zur Sammlungsverarbeitung in Java

Übungen zur Sammlungsverarbeitung in Java

WBOY
WBOYOriginal
2023-06-15 09:52:371408Durchsuche

Java ist eine äußerst beliebte Programmiersprache, die in verschiedenen Szenarien weit verbreitet ist, darunter Webentwicklung, Entwicklung mobiler Anwendungen, Desktop-Anwendungen usw. Java bietet eine umfangreiche Sammlungsklassenbibliothek, die Entwicklern beim Umgang mit verschiedenen Datenstrukturen hilft, darunter Arrays, verknüpfte Listen, Stapel, Warteschlangen und Karten.

In Java ist eine Sammlung ein Container, der Datenelemente speichert. Die Java-Sammlungsklassenbibliothek kann in zwei Hierarchien unterteilt werden: Sammlungsschnittstellen und Sammlungsimplementierungsklassen. Eine Sammlungsschnittstelle ist eine Reihe von Spezifikationen, die eine Reihe von Methoden zum Bearbeiten von Elementen in einer Sammlung definieren. Die Sammlungsimplementierungsklasse basiert auf der Realität der Schnittstelle und stellt spezifische Implementierungsdetails bereit, z. B. ArrayList, LinkedList, HashSet usw.

In diesem Artikel stellen wir einige gängige Übungen zur Java-Sammlungsverarbeitung vor, um den Lesern zu helfen, ihre Beherrschung der Java-Sammlungsvorgänge zu verbessern.

  1. Suchen Sie die doppelten Elemente im Array.

Suchen Sie bei einem gegebenen Array mit ganzen Zahlen die doppelten Elemente darin. Beispielsweise sollten für das Array {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 4, 5} 1, 4 und 5 ausgegeben werden.

Eine Möglichkeit, dieses Problem zu lösen, ist die Verwendung eines HashSets. Wir können jedes Element im Array durchlaufen und es dem HashSet hinzufügen. Wenn ein Element bereits im HashSet vorhanden ist, handelt es sich um ein Duplikat. Hier ist die Code-Implementierung:

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. Zwei sortierte Arrays zusammenführen

Gegebene zwei sortierte Arrays von Ganzzahlen, füge sie zu einem sortierten Array zusammen. Beispielsweise soll für die Arrays {1, 3, 5, 7} und {2, 4, 6, 8} {1, 2, 3, 4, 5, 6, 7, 8} ausgegeben werden.

Eine Möglichkeit, dieses Problem zu lösen, besteht darin, ein neues Array zu erstellen, um die zusammengeführten Ergebnisse zu speichern. Dann können wir zwei Zeiger verwenden, um auf die Elemente in den beiden Arrays zu zeigen und ihre Größe zu vergleichen. Fügt das kleinere Element zum neuen Array hinzu und bewegt den Zeiger um eine Position nach vorne. Das Folgende ist die Code-Implementierung:

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. Zählen Sie, wie oft jedes Zeichen in einer Zeichenfolge vorkommt.

Zählen Sie bei einer gegebenen Zeichenfolge, wie oft jedes Zeichen darin vorkommt. Beispielsweise sollte für die Zeichenfolge „Java ist eine großartige Sprache“ das Zeichen „J“ einmal ausgegeben werden, das Zeichen „a“ viermal usw.

Eine Möglichkeit, dieses Problem zu lösen, besteht darin, jedes Zeichen in der Zeichenfolge zu durchlaufen und es einer HashMap hinzuzufügen. Behandeln Sie jedes Zeichen als Schlüssel und die Häufigkeit seines Vorkommens als Wert. Das Folgende ist die Code-Implementierung:

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-Sammlungen sind ein wichtiger Bestandteil der Java-Programmierung. In diesem Artikel werden einige gängige Übungen zur Verarbeitung von Java-Sammlungen vorgestellt, um den Lesern zu helfen, ihr Verständnis und ihre Anwendung von Java-Sammlungsvorgängen zu vertiefen.

Das obige ist der detaillierte Inhalt vonÜbungen zur Sammlungsverarbeitung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn