Java
-
[JAVA] 12주차 과제 : 애노테이션Java/온라인 자바 스터디 2024. 4. 11. 18:56
목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 애노테이션 정의하는 방법 자바 애노테이션은 코드 사이에 메타데이터를 제공하는 방법으로, 주석보다 더 많은 기능을 합니다. 이는 소스 코드에 추가할 수 있는 특수한 형태의 '주석'이며, 코드에 정보를 제공하거나 컴파일러에게 특정 동작을 수행하도록 지시하는 등의 목적으로 사용됩니다. 애노테이션은 @interface 키워드를 사용하여 정의합니다. @interface는 자바의 키워드 중 하나로, 애노테이션 정의를 생성하는데 사용됩니다. 다음은 기본적인 애노테이션 구문입니다. public @interface MyAnnotation { // 애노테이션 요..
-
[Java] 배열(Array)을 리스트(List)로 변환 - 반복문, Arrays, Collection, StreamJava/기타 2023. 5. 6. 17:36
배열(Array)을 리스트(List)로 변환 배열을 리스트로 변환하는 방법은 반복문을 사용하거나 Arrays, Collection, Stream 클래스에세 제공하는 메서드를 사용하여 변환할 수 있습니다. 방법 01. 반복문을 사용 빈 리스트를 생성한 후, 배열의 모든 요소를 리스트에 추가하는 방법입니다. Integer, Double, String 등 여러 타입의 배열을 리스트로 변환하는 경우 제네릭 타입의 메서드를 정의하여 코드의 양을 줄일 수 있습니다. import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 배열(Array)을 리스트(List)로 변환 - 반복문, Arrays, Collection, Steram ..
-
[Java] 스트림(Stream)의 최종 연산 - 요소의 수집 : collect()Java/Stream 2022. 7. 29. 16:20
스트림(Stream)의 최종 연산 - 요소의 수집 : collect() 1. collect() 인수로 전달되는 Collectors 객체에 구현된 방법대로 스트림의 요소를 수집합니다. 또한, Collectors 클래스에는 미리 정의된 다양한 방법이 클래스 메소드로 정의되어 있습니다. 이 외에도 사용자가 직접 Collector 인터페이스를 구현하여 자신만의 수집 방법을 정의할 수도 있습니다. 스트림 요소의 수집 용도별 사용할 수 있는 Collectors 메소드는 다음과 같습니다. 1_1) 스트림을 배열이나 컬렉션으로 변환 : toArray(), toCollection(), toList(), toSet(), toMap() 예제) 해당 스트림의 요소를 List 객체로 반환 public static void cr..
-
[Java] 스트림(Stream)의 최종 연산 - 요소의 연산 : sum(), average()Java/Stream 2022. 7. 25. 15:55
스트림(Stream)의 최종 연산 - 요소의 연산 : sum(), average() 1. sum() IntStream이나 DoubleStrem과 같은 기본 타입 스트림의 모든 요소에 합을 반환합니다. 예제) Int 타입 스트림의 합 public static void createStreamIntSum() { IntStream stream = IntStream.of(10, 20, 30, 40, 50); System.out.println(stream.sum()); } Console Output 예제) Double 타입 스트림의 합 public static void createStreamDoubleSum() { DoubleStream stream = DoubleStream.of(10.1, 20.2, 30.3, ..
-
[Java] 스트림(Stream)의 최종 연산 - 요소의 통계 : count(), max(), min()Java/Stream 2022. 7. 25. 15:52
스트림(Stream)의 최종 연산 - 요소의 통계 : count(), min(), max() 1. count() 해당 스트림의 요소의 총 개수를 long 타입의 값으로 반환합니다. 예제) 해당 스트림의 총 개수 public static void createStreamCount() { IntStream ints = IntStream.of(10, 20, 30, 40, 50); Long intsCount = ints.count(); System.out.println(intsCount); } Console Output 2. max() 해당 스트림의 요소 중에서 가장 큰 값을 가지는 요소를 참조하는 Optional 객체를 반환합니다. 예제) 해당 스트림에서 가장 큰 값을 반환 public static void c..
-
[Java] 스트림(Stream)의 최종 연산 - 요소의 검사 : anyMatch(), allMatch(), noneMatch()Java/Stream 2022. 7. 25. 15:50
스트림(Stream)의 최종 연산 - 요소의 검사 : anyMatch(), allMatch(), noneMatch() 1. anyMatch() 해당 스트림의 일부 요소가 특정 조건을 만족할 경우 true, 만족하지 않을 경우 false를 반환합니다. 예제) 해당 스트림에서 일부 요소가 문자열 'A'로 시작하는지 확인 public static void createStreamAnyMacth() { List strings = Arrays.asList("A1", "A2", "B1", "B2"); boolean isMatch = strings.stream().anyMatch(s -> s.startsWith("A")); System.out.println("anyMatch : " + isMatch); } Consol..
-
[Java] 스트림(Stream)의 최종 연산 - 요소의 검색 : findFirst(), findAny()Java/Stream 2022. 7. 25. 15:48
스트림(Stream)의 최종 연산 - 요소의 검색 : findFirst(), findAny() 1. findFirst() 해당 스트림에서 첫 번째 요소를 참조하는 Optional 객체를 반환합니다. 예제) 해당 스트림에서 첫 번째 요소를 반환 public static void createStreamFindFirst() { List strings = Arrays.asList("A1", "A2", "A3", "A4", "A5"); Optional stringFirst = strings.stream() .filter(s -> s.startsWith("A")) .findFirst(); stringFirst.ifPresent(System.out::println); } Console Output 2. findAny..
-
[Java] 스트림(Stream)의 최종 연산 - 요소의 소모 : reduce()Java/Stream 2022. 7. 25. 15:47
스트림(Stream)의 최종 연산 - 요소의 출력 : reduce() 1. reduce() 첫 번째와 두 번째 요소를 가지고 연산을 수행한 뒤, 그 결과와 세 번째 요소를 가지고 또 다시 연산을 수행합니다. 이와 같이 해당 스트림의 모든 요소를 연산하여 그 결과를 반환합니다. 예제) 해당 스트림의 전체 합 public static void createStreamReduceSum() { Stream numbers = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); Optional result = numbers.reduce((subtotal, element) -> subtotal + element); result.ifPresent(System.out::println); } Cons..