Java
-
[JAVA] 12주차 과제 : 애노테이션Java/온라인 자바 스터디 2024. 4. 11. 18:56
목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 애노테이션 정의하는 방법 자바 애노테이션은 코드 사이에 메타데이터를 제공하는 방법으로, 주석보다 더 많은 기능을 합니다. 이는 소스 코드에 추가할 수 있는 특수한 형태의 '주석'이며, 코드에 정보를 제공하거나 컴파일러에게 특정 동작을 수행하도록 지시하는 등의 목적으로 사용됩니다. 애노테이션은 @interface 키워드를 사용하여 정의합니다. @interface는 자바의 키워드 중 하나로, 애노테이션 정의를 생성하는데 사용됩니다. 다음은 기본적인 애노테이션 구문입니다. public @interface MyAnnotation { // 애노테이션 요..
-
[Java] 배열(Array)을 리스트(List)로 변환 - 반복문, Arrays, Collection, StreamJava/Collection(컬렉션) 2023. 5. 6. 17:36
목차 배열(Array)을 리스트(List)로 변환배열을 리스트로 변환하는 방법은 반복문을 사용하거나 Arrays, Collection, Stream 클래스에세 제공하는 메서드를 사용하여 변환할 수 있습니다. 1. 반복문을 사용빈 리스트를 생성한 후, 배열의 모든 요소를 리스트에 추가하는 방법입니다. 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 c..
-
[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 cre..
-
[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);}Conso..
-
[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 ..
-
[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);}Con..
-
[Java] 스트림(Stream)의 최종 연산 - 요소의 출력 : forEach()Java/Stream(스트림) 2022. 7. 25. 15:46
목차 스트림(Stream)의 최종 연산 - 요소의 출력 : forEach()1. forEach()반환 타입이 void로 보통 스트림의 모든 요소를 출력하는 용도로 많이 사용합니다. 예제) 해당 스트림에 전체 요소를 출력public static void createStreamFor() { Stream stream = Stream.of("Python", "C", "Java", "Visual Basic", "PHP"); stream.forEach(System.out::println);}Console Output 예제) 2개의 리스트에서 중복된 요소만 출력 - 일반적인 중첩 for문public static void createStreamNestedFor01() { List languages01 = Array..
-
[Java] 스트림(Stream)의 중개 연산 - 연산 결과 확인 : peek()Java/Stream(스트림) 2022. 7. 14. 17:14
목차 스트림(Stream)의 중개 연산 - 연산 결과 확인 : peek()1. peek()peek() 메소드는 결과 스트림으로부터 요소를 소모하여 추가로 명시된 동작을 수행합니다. 또한, 원본 스트림에서 요소로를 소모하지 않으므로, 주로 연산과 연산 사이에 결과를 확인할 때 사용합니다. 예제) peek() 메소드를 최종 연산으로 사용하면 동작하지 않음public static void createStreamPeekNotWorking() { Stream stream = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); stream.filter(s -> s % 3 == 0) .peek(s -> System.out.println("원본 스트림 : " + s));} 예제) p..