스트림과 병렬 처리 스트림 → 자바8 부터 추가된 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자이다. → Stream이 제공아는 대부분의 요소 처리 메소드는 함수적 인터페이스 매개 타입을 가지기 때문에 람다식 또는 메소드 참조를 이용해서 요소 처리 내용을 매개값으로 전달할 수 있다. stream 사용 List list = Arrays.asList("홍길동","김자바","덕덕"); Stream stream = list.stream(); stream.forEach( name -> System.out.println(name)); 내부 반복자를 사용하므로 병렬 처리가 쉽다. 내부 반복자 : 컬렉션 내부에서 요소들을 반복시키고, 개발자는 요소당 처리해야 할 코드만 제공하는 코드 패턴. ..
[java] and(), or(), negate() 디폴트 메소드와 isEqual()정적 메소드 Predicate 종류의 함수적 인터페이스는 and(), or(), negate() 디폴트 메소드를 가지고 있다. 이 메소드를 각각 논리 연산자인 && || ! 와 대응된다고 볼 수 있다. and() : 두 Predicate가 모두 true를 return하면 최정적으로 true를 리턴하는 Predicate를 생성한다. or() : 두 Predicate중 1개만 true return 시 true negate() : 원래 Predicate의 결과가 true이면 false로 false면 true로 반환 대표적인 Predicate의 함수적 인터페이스를 살펴보자. 1.Predicate 2.BiPredicate 3.DoublePredicate 4.IntPredicate 5.LongPredicate 공통점 : 모두 ..
[Java8]LocalDateTime이란? LocalDateTime Java8에서는 새로운 LocalDateTime 이란 녀석이 추가됐습니다 그 이전에는 Calendar나 Date를 사용하여 날짜를 연산했지만 이제는 LocalDateTime을 사용하여 버그 없이 사용할 수 있습니다. Java 시간 API 시대 흐름순으로 정리하자면, Date > Calendar > time(org.joda.time) LocalDate ->로컬 날짜 클래스로 날짜 정보만 필요할 때 사용했습니다 문법 LocalDate currentDate = LocalDate.now(); //현재 날짜 정보를 저장한 LocalDate 객체 리턴 // 20xx - xx - xx LocalDate.of //파라미터로 주어진 날짜 정보를 저장한 LocalDate 객체를 리턴합니다. Loc..
썸네일 [Java8] Date와 Time API 프로젝트를 진행하면서 시간과 날짜를 계산하는 일이 굉장히 많았다. 하지만 그 과정에서 헷갈린 부분을 정리하고 확실한 개념을 짚고 넘어가보고자 글을 정리한다. | Date & Time 소개 java8에 새로운 날짜와 시간 API가 생긴 이유 그전까지 사용하던 java.util.Date 클래스는 mutable(변하기 쉬운) 하기 때문에 thread safe 하지 않았다. 클래스 이름이 명확하지 않다 ( Date인데 시간까지 다루는 점에 대해 의아했음 ) 버그가 발생하는 일이 많았다 ( type의 안정성이 없고 월 같은 경우 0부터 시작하는게 이해가 안돼..) 날짜 시간 처리가 복잡한 application에서는 보통 Joda Time을 쓰곤 했다. 하지만 !! java8 에서 제공하는 Date-Time API..