개발생활/Java

[JAVA] String 중복제거 Stream

cocococo331 2022. 3. 22. 19:53

 

String str = "asdgaassdf";

 

- 문자열을 Character[]으로 변환해줘야함
char[] -> Chcaracter[]보다 string -> Character[]이 더 간단한거 같은 이유는 뭘까

Character[] charObjectArray =  str.chars().mapToObj(c -> (char)c).toArray(Character[]::new);

 

- 중복 제거

Stream<Character> characterStream = Arrays.stream(charObjectArray).distinct();

 

- String으로 리턴

String result2 = characterStream.map(String::valueOf).collect(Collectors.joining());

 

- 한방에 합치면? 

String result3 = Arrays.stream(charObjectArray)
            .distinct()
            .map(String::valueOf)
            .collect(Collectors.joining());

 

// -> asdgf