Java 에러 - Exception in thread "main" java.util.regex.PatternSyntaxException
다음과 같이, "+"를 구분자로 split() 메서드를 이용해서 문자열을 분리하려 했다. 에러 메시지는 다음과 같았다. 구글링을 통해 확인해보니, ?, *, +, (, ), [, ], {, } 와 같은 일부 특수 문자를 replace(), replaceAll(), split() 메서드의 구분자나 기준으로 사용할 때 발생하는 에러라고 한다. 해결방안은 위 특수문자 앞에 역슬래쉬 2개(\\)를 같이 넣어주면 가볍게 해결할 수 있다. // example String str = "123+456"; String[] strArr = str.split("\\+"); // 역슬래쉬 = 원화 표시 // strArr = ["123", "456"] ++ 위 특수문자 양 옆에 대괄호([])로 감싸줘도 가능하다. // exam..
2023. 3. 20.
2개 리스트의 교집합, 합집합, 차집합 구하기
교집합 retainAll() 메서드로 두 리스트의 교집합 구하기 import java.util.Set; import java.util.HashSet; import java.util.Arrays; import java.util.List; import java.util.ArrayList; public class Test { public static void main(String[] args) { Set str1Set = new HashSet(Arrays.asList("ab", "bc", "cd", "ef", "fg")); Set str2Set = new HashSet(Arrays.asList("cd", "ef", "fg", "gh", "hi")); Set intersection = new HashSet(st..
2023. 2. 17.