Java 275

자바 연습문제 - ArrayList 스트림 완전 정복

0. Student 객체를 이용하여 ArrayList를 이용한 컬렉션을 제작합니다.들어가는 데이터 : - 이명희, 92 - 장보고, 65 - 박민수, 78 - 김철수, 85 - 최지우, 921. 점수가 80점 이상인 학생의 이름만 출력하세요.📌 제출 답안studentList.stream() .filter(s -> s.getScore() >= 80) .forEach(s -> System.out.print(s.getName() + " "));System.out.println();📌 교수 답안List highScores = studentList.stream() .filter(s -> s.getScore() >= 80) .map(Student::getName) .collect(Collectors.toList..

Java/연습문제 2025.05.28

[ 30일차 181~182 ] 수업 정리 - 자바

📌 오전 수업1. Collectors.groupingBy + averagingDoublegroupingBy()를 통해 성별로 그룹핑한 뒤,averagingDouble()로 각 그룹의 평균 점수를 계산Map map = totalList.stream() .collect(Collectors.groupingBy(s -> s.getSex(), Collectors.averagingDouble(s -> s.getScore())));📌 출력 예시{남=93.5, 여=90.0}2. 일반 스트림 vs 병렬 스트림 성능 비교데이터 수가 많을 경우 병렬 스트림(parallelStream())이 빠름Stream stream = scores.stream();Stream parallelStream = scores.paralle..

국비 2025.05.27

자바 연습문제 - HashMap을 이용한 전화번호부 프로그램 구현

📖 문제HashMap을 사용하여 전화번호부를 구현합니다.반복 입력을 통해 다음 기능을 처리합니다:전화번호 등록이름과 전화번호를 입력받아 저장합니다.이름이 중복되면 (1), (2) 등 숫자를 붙여 저장합니다.전화번호 조회입력한 이름이 정확히 일치하는 경우, 이름과 전화번호를 출력합니다.입력한 문자열이 이름에 포함된 모든 항목도 함께 출력합니다.전체 출력저장된 모든 이름과 전화번호를 출력합니다.프로그램 종료📌 예제 정답import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.regex.Pattern;public class PhoneBookApp { public static void main(String[]..

Java/연습문제 2025.05.27

182. 병렬 스트림 성능 비교 – stream() vs parallelStream()

자바 스트림 API에서는 parallelStream()을 사용하면 데이터를 병렬로 처리할 수 있습니다.특히 데이터 양이 많을수록 성능 차이가 확연하게 나타날 수 있는데요,이번 예제에서는 1,000만 개의 점수를 대상으로 일반 스트림과 병렬 스트림의 처리 시간을 비교해보겠습니다.📌 예제 코드import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.stream.Stream;public class ParallelExample { public static void main(String[] args) { Random rand = new Random(); List scores = new ArrayList()..

Java/자바 정리 2025.05.27

181. groupingBy() + averagingDouble() – 그룹별 평균 구하기

스트림 API를 활용하면 단순 분류뿐 아니라 각 그룹별 통계 값을 함께 계산할 수 있습니다.이번 예제에서는 Collectors.groupingBy()와 Collectors.averagingDouble()을 조합하여성별로 분류한 후, 각 그룹의 평균 점수를 구해보겠습니다.📦 Student.javapackage ch17.sec12;public class Student { private String name, sex; private int score; public Student(String name, String sex, int score) { this.name = name; this.sex = sex; this.score = score; } public String getName() { return..

Java/자바 정리 2025.05.27

자바 연습문제 - Stream으로 객체 리스트를 그룹핑하기

📖 문제List에 저장되어 있는 Member 객체를 직업별로 그룹핑하여 Map> 객체로 생성하려고 합니다.Map의 키는 Member의 직업Map의 값은 해당 직업을 가진 Member 객체의 리스트Collectors.groupingBy()를 활용해 문제를 해결해보세요.📦 예제 클래스Member.javapublic class Member { private String name; private String job; public Member(String name, String job) { this.name = name; this.job = job; } public String getName() { return name; } public String getJob() { return job; } @Ove..

Java/연습문제 2025.05.26

자바 연습문제 - Stream으로 조건에 맞는 객체만 수집하기

📖 문제List에 저장되어 있는 Member 객체들 중에서,직업이 "개발자"인 사람들만 별도의 리스트로 수집하여 이름을 출력해보세요.※ Stream의 filter()와 수집 관련 메서드를 사용해야 합니다.📦 예제 클래스Member.javapublic class Member { private String name; private String job; public Member(String name, String job) { this.name = name; this.job = job; } public String getName() { return name; } public String getJob() { return job; }}Example.javapublic class Example { publ..

Java/연습문제 2025.05.26

자바 연습문제 - List에서 객체 필드값 평균 구하기

📖 문제List에 저장되어 있는 Member 객체들 중에서,모든 멤버의 평균 나이를 구해 출력해보세요.※ Stream API의 적절한 메서드를 활용해야 합니다.📦 예제 클래스Member.javapublic class Member { private String name; private int age; public Member(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; }}Example.javapublic class Example { public static void main(String[] args)..

Java/연습문제 2025.05.26

자바 연습문제 - Stream을 이용한 문자열 필터링 (대소문자 무시)

📖 문제List에 저장되어 있는 String 요소들 중에서,대소문자 구분 없이 'java'라는 단어가 포함된 문자열만 필터링하여 출력하려고 합니다.stream()을 사용하여 빈칸에 들어갈 코드를 완성해보세요.📦 예제 클래스public class Example { public static void main(String[] args) { List list = Arrays.asList("This is a java book", "Lambda Expressions", "Java8 supports lambda expressions"); list.stream() // 빈공간 }}📌 예제 정답public class Example { public static void main(String[] args) ..

Java/연습문제 2025.05.26

[ 29일차 169~180 ] 수업 정리 - 자바

📌 오전 수업1. map, mapToInt, boxed, asDoubleStreammapToInt() : 객체 스트림 → 기본형 스트림(IntStream 등) 변환asDoubleStream() : int → double 스트림으로 변환boxed() : 기본형 스트림을 객체 스트림으로 변환2. flatMap, flatMapToInt다차원 구조를 평탄화(flatten)list.stream() .flatMap(str -> Arrays.stream(str.split(" "))) .forEach(System.out::println);3. 정렬 (Sorting)sorted() : 기본 정렬 (Comparable 구현 필요)sorted(Comparator) : 사용자 정의 정렬.sorted((s1, s2) ->..

국비 2025.05.26
반응형