티스토리 뷰

JAVA

190716 람다식, arraylist 테스트

猫猫 2019. 7. 16. 14:34
반응형
package prj190716;

import java.util.*;
import java.util.stream.*;

public class RamdaListtest {

	public static void main(String[] args) {
		List<Integer> numberList = new ArrayList<>();
		numberList.add(10);
		numberList.add(11);
		numberList.add(12);
		numberList.add(13);
		numberList.add(14);
		numberList.add(15);
		
		
//		List<Integer> evenNumerListObj = numberList.stream() stream 객체 생성하는 구문
// 	뒤에 따라오는 기능을 할 수 있도록 하는 것. 
		List<Integer> evenNumerListObj = numberList.stream()
				.filter(i -> i%2 == 0)				
				.filter(i -> i%3 == 0)
				.collect(Collectors.toList());
// integer list 만들고 -> 넘버리스트 스트림 객체의 필터(i로 판단, i가 2로 나눴을때 나머지 0이면) 모을것(콜렉터의 toList 기능이용 하여 List로 형변환)		
		System.out.println(evenNumerListObj);
		
		Double result = numberList.stream()
				.filter(i -> i%2 == 0)	//filter로 함수 쓸 필요없을정도로 간단하게 가능
				.filter(i -> i%3 == 0)
				.collect(Collectors.averagingInt(v->v*2)); //collector는 수집기능이 아니라 결정하겠단 얘기
		System.out.println(result);
		
		Long result1 = numberList.stream()
				.filter(i -> i%2 == 0)
				.filter(i -> i%3 == 0)
				.collect(Collectors.counting()); //갯수 모으기
		System.out.println(result1);
		
	}

}
반응형

'JAVA' 카테고리의 다른 글

190716 Comparable 과 compareTo  (0) 2019.07.16
190716 람다식과 FunctionalInterface  (0) 2019.07.16
190716 Enhancedfor 3중 배열  (0) 2019.07.16
190715 LinkedList예제  (0) 2019.07.15
190715 Generics 예제  (0) 2019.07.15