java_exam 187

Ex14_05 - 스트림의 중간연산 - Comparator의 메서드 (Student 클래스 포함)

- Student 클래스 package com.kook.ch14Project; //Stream의 데이터 요소를 사용할 Comparable 구현한 클래스로 setter/getter클래스 구현 public class Student implements Comparable { private String name; private int ban; private int totalScore; //Comparable인터페스의 추상메서드 구현 @Override public int compareTo(Student s) { return s.totalScore - this.totalScore; //내림차순 기본 정렬 } //Object에 있는 toString()을 재정의 @Override public String toStrin..

Ex14_MiddStreamOP

package com.kook.ch14Project; //교재엔 따로 없는 국쌤 추가설명 예제 -p.580 import java.util.stream.IntStream; import java.util.stream.Stream; import javax.swing.plaf.synth.SynthStyleFactory; //Stream의 중간연산메서드 public class MiddStreamOP { public static void main(String[] args) { IntStream intStream = IntStream.rangeClosed(1, 10); //10을 포함하는 범위의 int형 Stream객체 생성 1,2,3,4,5,6,7,8,9,10까지 데이터요소 intStream.skip(3).limi..

Ex14_StreamMaking (개념설명포함)

package com.kook.ch14Project; //국쌤예제(추가설명, 교재에 없는 예제) import java.util.*; import java.util.stream.*; public class Ex14_StreamMaking { public static void main(String[] args) { /* - Collection인터페이스에는 stream()메서드가 존재하므로 Collection의 하위 클래스인 List, Set등은 구현된 stream() 메서드를 가진다. - Stream stream(); , stream()메서드는 Stream객체를 반환 */ // List로 작성된 객체를 stream객체로 반환 List list = Arrays.asList(1,2,3,4,5); Stream i..

Ex14_IntroStream

package com.kook.ch14Project; import java.util.*; import java.util.stream.*; //국쌤예제(교재에 없음, 추가설명) 교재-568p public class Ex14_IntroStream { //IntroStream : 스트림을 소개한다는 의미 public static void main(String[] args) { //배열이나 Collection의 데이터들을 쉽게 처리하기 위해 Stream을 사용 String[] strArr = {"aaa", "ddd", "ccc"}; List strList = Arrays.asList(strArr); /* - Stream 객체로 변환 - Collection에는 stream으로 변환해주는 stream()을 거친다...

Ex14_RefMethod

package com.kook.ch14Project; //국쌤예제(교재에 없는 예제), 교재:566~567p 내용참조 import java.util.function.*; /* - 람다식의 블록(구현부)이(가) 하나의 메서드만 사용할때는 메서드참조로 간단하게 람다식을 생성한다. - 생성자 사용시에도 유사하게 사용한다. */ public class Ex14_RefMethod { public static void main(String[] args) { Function f = (String s) -> Integer.parseInt(s); //Function함수형 인터페이스의 추상메서드는 R apply(T t);을 구현하는 람다식을 사용 Function f1 = Integer::parseInt; /* - 블록이 ..

Ex14_02 - java.util.function패키지

package com.kook.ch14Project; import java.util.function.*; import java.util.*; public class Ex14_02 { public static void main(String[] args) { Supplier s; /* - 함수형 인터페이스 Supplier는 파라미터 없고 반환을 T형으로 하는 추상메서드 T get()를 갖는다. - 함수형 인터페이스 객체는 추상메서드를 매핑하는 람다식으로 생성 */ s = () -> (int)(Math.random() * 100) + 1; //99까지 돌기 때문에 +1해줌 Consumer c; /* - 함수형 인터페이스 Consumer는 파라미터가 1개이고 리턴값이 없는 추상메서드 - public abstra..

Ex14_01 - 함수형 인터페이스 타입의 매개변수, 반환 타입

package com.kook.ch14Project; public class Ex14_01 { public static void main(String[] args) { //MyFunction 인터페이스 객체는 람다식으로 추상메서드를 구현하여 대입 MyFunction01 f1 = () -> { System.out.println("f1.run()"); }; /* - 단축형 (아래코드처럼 한줄로도 작성가능하다.) MyFunction f1 = () -> System.out.println("f1.run()"); */ //예전처럼 익명의 객체 사용 MyFunction01 f2 = new MyFunction01() { @Override public void run() { System.out.println("f2.ru..