Wie kann ich in Java in einer Arrayliste 2 Namen vergleichen und mir nur die Gesamtzahl von einzigartigen Namen ausgeben lassen?

Wie kann ich in Java in einer Arrayliste 2 Namen vergleichen und mir nur die Gesamtzahl von einzigartigen Namen ausgeben lassen?

Uhr
In Java gibt es verschiedene Möglichkeiten um in einer ArrayList Namen zu vergleichen und nur die Gesamtzahl der einzigartigen Namen auszugeben. Hier sind drei verschiedene Ansätze die du verwenden kannst:

1. Verwendung einer neuen ArrayList:
Du kannst eine neue ArrayList erstellen und dann über die vorhandene ArrayList iterieren. In jeder Iteration überprüfst du ob der aktuelle Name bereits in der neuen Liste enthalten ist. Wenn nicht – fügst du den Namen der neuen Liste hinzu. Am Ende hast du eine Liste mit nur einzigartigen Namen. Hier ist ein Beispielcode in Java:

```java
ArrayList<String> oldList = new ArrayList<String>();
// Annahme: Die alte Liste enthält Namen

ArrayList<String> newList = new ArrayList<String>();

for (String name : oldList) {
if (!newList.contains(name)) {
newList.add(name);
}
}

int numberOfUniqueNames = newList.size();
System.out.println("Die Gesamtzahl der einzigartigen Namen beträgt: " + numberOfUniqueNames);
```

2. Verwendung einer HashSet-Datenstruktur:
Set-Datenstrukturen in Java enthalten von Natur aus keine doppelten Werte. Daher kannst du ein HashSet verwenden um nur einzigartige Namen zu speichern. Hier ist ein Beispielcode:

```java
ArrayList<String> names = new ArrayList<String>();
// Annahme: Die Namen sind bereits in der ArrayList "names" enthalten

Set<String> uniqueNames = new HashSet<String>(names);

int numberOfUniqueNames = uniqueNames.size();
System.out.println("Die Gesamtzahl der einzigartigen Namen beträgt: " + numberOfUniqueNames);
```

3. Verwendung von Streams (seit Java 8):
Seit Java 8 kannst du ebenfalls Streams verwenden um die Anzahl der einzigartigen Namen zu ermitteln. Hier ist ein Beispielcode:

```java
ArrayList<String> names = new ArrayList<String>();
// Annahme: Die Namen sind bereits in der ArrayList "names" enthalten

long numberOfUniqueNames = names.stream().distinct().count();
System.out.println("Die Gesamtzahl der einzigartigen Namen beträgt: " + numberOfUniqueNames);
```

Alle diese Ansätze verursachenm gleichen Ergebnis: Die Gesamtzahl der einzigartigen Namen in der ArrayList wird ausgegeben. Du kannst den Ansatz auswählen der am besten zu deinem spezifischen Fall passt.






Anzeige