✔ StreamExample.java
public class StreamExample { public static void main(String args[]) { // 1~10까지의 합 구하기 int sum = IntStream.rangeClosed(1, 10).sum(); System.out.println(sum); System.out.println(IntStream.rangeClosed(1, 10).sum()); // 1~100 중 짝수들의 합 구하기 int sum2 = IntStream.rangeClosed(1, 100).filter(i -> i % 2 == 0).sum(); System.out.println(sum2); // 1~100 중 홀수들의 합 구하기 int sum3 = IntStream.rangeClosed(1, 100).filter(i -> i % 2 == 1).sum(); System.out.println(sum3); // 1~10 중 짝수의 2배를 한 결과값 구하기 IntStream.rangeClosed(1, 10).filter(i -> i % 2 == 0).map(i -> i * 2).forEach(System.out::print); System.out.println(); // 1~10 중 짝수의 2배를 한 결과값의 합 구하기 int sum4 = IntStream.rangeClosed(1, 10).filter(i -> i % 2 == 0).map(i -> i * 2).sum(); System.out.println(sum4); } }
- 결과
✔ StreamExample.java
class Grade { private String name; private int kor; private int eng; private int math; public Grade() { } public Grade(String name, int kor, int eng, int math) { super(); this.name = name; this.kor = kor; this.eng = eng; this.math = math; } public String getName() { return name; } public double getAvg() { double avg = (kor + eng + math) / 3.0; return avg; } public void setName(String name) { this.name = name; } public int getKor() { return kor; } public void setKor(int kor) { this.kor = kor; } public int getEng() { return eng; } public void setEng(int eng) { this.eng = eng; } public int getMath() { return math; } public void setMath(int math) { this.math = math; } } public class StreamExample { public static void main(String args[]) { List<Grade> gradeList = new ArrayList<Grade>(); gradeList.add(new Grade("홍길동", 90, 100, 85)); gradeList.add(new Grade("홍길순", 80, 70, 95)); gradeList.add(new Grade("홍길지", 70, 100, 100)); gradeList.add(new Grade("허동동", 95, 90, 95)); // 📍 1. 각각의 멤버들의 평균 구하기 gradeList.stream().forEach(grade -> { System.out.println(grade.getName() + ":" + grade.getAvg()); }); System.out.println(); // 📍 2. 허씨는 결과값에서 제외하기 gradeList.stream().filter(grade -> grade.getName().contains("홍")).forEach(grade -> { System.out.println(grade.getName() + ":" + grade.getAvg()); }); System.out.println("--------------다른 방법--------------"); gradeList.stream().filter(grade -> !grade.getName().contains("허")).forEach(grade -> { System.out.println(grade.getName() + ":" + grade.getAvg()); }); System.out.println(); // 📍 3. 국어 점수가 90점 이상인 사람만 출력 gradeList.stream().filter(grade -> grade.getKor() >= 90).forEach(grade -> { System.out.println(grade.getName() + ":" + grade.getAvg()); }); } }
- 결과