Language/Java

    Java 17 변경점

    Java 17 변경점

    Java 8과 11에 이은 새로운 LTS(Long-Term Support) 버전인 Java 17이 릴리즈 되었다. 토이 프로젝트에서 Spring Boot 3.1.0 버전을 사용하게 되었는데, 스프링 부트 3 버전부터는 Java17 이상을 지원한다. 따라서 Java11이후의 Java17의 주요 변경점을 알아보자 1. 텍스트 블록 private static void oldStyle() { String text = "{\n" + " \"name\": \"John Doe\",\n" + " \"age\": 45,\n" + " \"address\": \"Doe Street, 23, Java Town\"\n" + "}"; System.out.println(text); } 위와 같이 JSON 문자열 생성시 큰 따옴표를..

    StringBuilder란? StringBuilder 사용 방법

    StringBuilder란? StringBuilder 사용 방법

    오늘 알고리즘을 공부하는 중에 StringBuilder를 사용하는것이 나와서 StringBuilder에 대해서 탐구해 보았습니다. StringBuilder를 사용하는 이유 자바에서는 문자열을 사용할 때 대개 String객체를 이용하게 된다. 이 String 객체를 덧셈 연산을 하게 되면 새로운 String 객체가 생성이 된다. String a = "abc" String b = "def" String c = a + b //abcdef String 객체는 한 번 생성되면 내용을 바꿀 수 없기때문에, 하나의 문자열을 다른 문자열과 연결하게 되는 순간 새로운 문자열 객체가 생성되게 되고, 이전 문자열은 가비지컬렉터로 들어가게 된다. 이런 String객체를 더하게 되면 객체가 생성되면서 메모리를 사용하게 되고, ..

    [JAVA] Stream - Collector(콜렉터), Stream을 List,Set으로 반환

    java8 Stream - Collector(콜렉터) 💡 Collectors란? Stream을 일반적인 List, Set등으로 변경시켜주는 Stream의 최종처리 메서드 1. Stream.collect() 데이터의 중간처리후, 마지막에 List,Set 등의 형태로 변환해주는 역할을 한다. 필요한 요소만 컬렉션으로 담을 수 있고, 요소들을 그룹핑한 후, 집계(Reduction)할 수 있다. 2. Stream.collect() 의 사용 collect(Collector collector) T : 파라미터 값, Stream의 요소 A : 누적기, 누적연산을 실행할 함수 R : 리턴값, 누적연산의 결과가 저장되는 객체 3. Collector의 메서드 toList, toSet Stream의 모든 elements들을..

    Optional : null값에 대한 처리

    💡 Optional 를 사용하는 이유? 데이터의 null값을 처리해줘야 할 때 NullPointerException(NPE)가 발생하지 않도록 해주기 위해 사용 Optional 생성 Optional 객체를 생성하기 위한 메소드 of() : 변수value의 값이 null인 경우 NPE 발생함 → 반드시 값이 있어야 하는 경우에 of()를 사용 Optional optional = Optional.of(value); ofNullable() : 변수value의 값이 null 일수 있게 설정 → 변수가 null인 경우 Optional.empty()가 리턴됨 Optional optional = Optional.ofNullable(value); empty() : 빈 Optional 객체를 생성 → Optional 객..

    [Java] 컬렉션(Collection), 제네릭(Generic) - Set, List, Map

    컬렉션, 제너릭 컬렉션 : 자료구조 데이터를 저장하는 방식 배열은 순차적으로 저장, 중복된 데이터를 저장할 수 있다. Set 컬렉션 클래스 : 순서가 없다. 중복된 데이터 허용X 1. HashSet 요소를 순서에 상관없이 저장, 중복된 값은 저장X HashSet hs01 = new HashSet(); HashSet hs02 = new HashSet(); 2. TreeSet 컬렉션 클래스 - 요소를 순서에 상관없이 저장, 중복된 값 저장 X, 작은값부터 순서대로 정렬함 TreeSet ts = new TreeSet(); ts.add(30); ts.add(40); Set 메소드 add() 메소드 : 객체에 요소를 저장 // add() 메소드를 이용한 요소의 저장 hs01.add("홍길동"); hs01.add(..

    [Java] Stream

    [Java] Stream

    Stream : 데이터 가공 *모든 예문에는 lombok이 사용되었습니다 Stream 스트림은 컬렉션의 저장요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자 중간처리 메서드 : Stream을 리턴 최종처리 메서드 : int형, String형 ...... 중간처리 메서드가 Stream을 리턴하기 때문에 메서드 체이닝을 통해 데이터 가공이 가능하다. 메서드 체이닝한 모습을 스트림의 파이프라인이라고 표현한다. 합계,평균값,카운팅,최대값,최소값 등의 최종처리를 파이프라인으로 해결 Stream 생성하기 컬렉션으로 부터 스트림 얻기 import java.util.stream.*; import java.util.*; import lombok.*; class Main{ public static void..