JAVA Stream

By | 2020년 12월 30일
Table of Content

JAVA Stream

JAVA8 버전부터 Stream 이 추가되었습니다.

JDK8 이전

for-each 를 이용해 List 데이타를 조작하였습니다.

public class StreamTest {

    @Test
    public void testBeforeJDK8() {

        // 테스트 데이타 생성
        ArrayList<String> list = new ArrayList<>(Arrays.asList("Apple", "Banana", "Melon", "Grape", "Strawberry"));

        // JAVA8 이전
        int i = 0;
        for (String item : list) {
            list.set(i++, item.toUpperCase());
        }

        assertEquals("APPLE", list.get(0));
    }
}

JDK8 이후

stream() 를 이용해 List 데이타를 조작할 수 있습니다.

public class StreamTest {

    @Test
    public void testJDK8() {

        // 테스트 데이타 생성
        ArrayList<String> list = new ArrayList<>(Arrays.asList("Apple", "Banana", "Melon", "Grape", "Strawberry"));

        // JAVA8 이후(lambda 사용)
        // List<String> results = list.stream().map(s->s.toUpperCase()).collect(Collectors.toList());

        // JAVA8 이후(함수 참조 사용)
        List<String> results = list.stream().map(String::toUpperCase).collect(Collectors.toList());

        assertEquals("APPLE", results.get(0));
    }
}

답글 남기기