Listen in Java von Dopplungen befreien

Da es vor kurzem ein Thema in einer Talend Strecke war packe ich es hier kurz rein:

Das Problem

Aus dem Vorsystem kommt eine Komma separierte Liste (String) mit Dopplungen:
kunde1, kunde2, kunde3, kunde1

Ins System soll aber kunde1, kunde2, kunde3 importiert werden.

Dies kann man in Java 8 oder neuer verhältnismässig einfach umsetzten:

(Eine) Lösung

// Java JDK8 braucht man glaub mindestens

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;


// Liste splitten
List<String> kdNameArray = Arrays.asList(output_row.KdNameHistOld.split("\\s*,\\s*"));
// Liste filtern
List<String> distinctKdNameArray = kdNameArray.stream().sorted().distinct().collect(Collectors.toList());
// Liste zu Comma separiertem String
output_row.KdNameHistOld = String.join(",", distinctKdNameArray);

Hier wird die Liste erst gesplittet, dann per stream() durch die Befehle sorted() und distinct() sortiert und eindeutig gemacht und anschliessend per String.join wirder zu einer Komma separierten Liste zusammengebaut.