[Java] 정규표현식
정규표현식: 특정 문자열이 형식에 맞는지 검사하는 패턴 ^ : 문자열의 시작$ : 문자열의 끝( ) : 그룹* : 0번 이상 반복 가는ㅇ[a-zA-Z] : 영문 대소문자[0-9] : 숫자 ex)^[a-zA-Z]([a-zA-Z]*[0-9]*-*_*)*$: 첫번째는 영문자가 반드시 들어가며 그 뒤에는 영문, 숫자, 특수문자('-', '_')만 올 수 있음
정규표현식: 특정 문자열이 형식에 맞는지 검사하는 패턴 ^ : 문자열의 시작$ : 문자열의 끝( ) : 그룹* : 0번 이상 반복 가는ㅇ[a-zA-Z] : 영문 대소문자[0-9] : 숫자 ex)^[a-zA-Z]([a-zA-Z]*[0-9]*-*_*)*$: 첫번째는 영문자가 반드시 들어가며 그 뒤에는 영문, 숫자, 특수문자('-', '_')만 올 수 있음
filter() 매개변수로 함수형 인터페이스 Predicate가 들어옴 Predicate : boolean test(T t) 조건에 부합하는 데이터들 가져옴! filter( s -> 조건 ) filter는 중간연산이기 때문에 filter로 걸러진 값 하나를 가져오려면 .findFirst().get(); map() 조건에 부합하는 데이터를 자료형도 변환해서 가져옴 1:1 매핑 map( s -> s.length() ) mapToInt() : Int로 리턴해줌 (double은 mapToDouble) flatmap() 1:n매핑 넣은 리스트들을 스트림화해주면 모두 concat시켜줌
forEach() 매개변수로 함수형 인터페이스 Consumer가 들어옴 Consumer : void accept(T t) 데이터를 하나하나 반복 처리할 수 있음! forEach( s -> System.out.println(s) ); reduce() 데이터를 원하는대로 축소,결합하는 연산 reduce("초기값", (a, b) -> a + b) : 모든 데이터를 합한 값을 출력 ex)
스트림 데이터를 스트림형태로 변환시켜서 필터, 연산 등 데이터를 쉽게 가공해주는 API 중간 연산 filter(), map() 등등 최종 연산 sum(), forEach(), reduce() 등등 스트림으로 변환 배열 -> 스트림 Arrays.stream(배열명); 리스트 -> 스트림 리스트명.stream(); 스트림 연결 Stream.of() Stream.of(데이터1, 데이터2, 데이터3) 리스트.stream하면 리스트 안에 데이터 하나하나씩 스트림화 Strema.of(리스트)하면 리스트 통째로 하나