본문 바로가기

웹 개발/Java

[Web_JAVA] 35

실습(Stream)

1. 1~100까지 ArrayList에 담기

ArrayList<Integer> datas = new ArrayList<>();
IntStream.range(0, 100).forEach(i -> datas.add(i + 1));

// ::는 void 메소드일 경우 참조형 사용이 가능하다.
datas.forEach(System.out::println);

 

결과

 

 

 

2. 100~1까지 ArrayList에 담기

ArrayList<Integer> datas = new ArrayList<>();
IntStream.range(0, 100).forEach(i -> datas.add(100 - i));
datas.forEach(System.out::println);

 

결과

 

 

 

3. ABCDEF를 각 문자별로 출력하기

String data = "ABCDEF";
data.chars().forEach(System.out::println);
data.chars().forEach(i -> System.out.println((char)i));

 

결과

 

 

 

4. BCDEFG를 출력하기

String data = "ABCDEF";
data.chars().map(c -> c + 1).forEach(c -> System.out.println((char)c));

 

결과

 

 

 

5. C를 제외하고 출력하기

String data = "ABCDEF";
data.chars().filter(c -> c != 67).forEach(c -> System.out.println((char)c));

 

결과

 

 

 

6. 정렬(오름차순)

ArrayList<Integer> datas = new ArrayList<>(Arrays.asList(10, 40, 20, 30));

// 정렬한 후 다른 곳에서 사용하려고 할 때 변수에 담아준 후 collect()를 사용한다.
ArrayList<Integer> sortedAscDatas = 
		(ArrayList<Integer>)datas.stream().sorted().collect(Collectors.toList());  // down casting

System.out.println(sortedAscDatas);

 

결과

 

 

 

7. 정렬(내림차순)

ArrayList<Integer> datas = new ArrayList<>(Arrays.asList(10, 40, 20, 30));

// sorted(Collections.reverseOrder()) : 내림차순 정렬
datas.stream().sorted(Collections.reverseOrder()).forEach(System.out::println);

 

결과

 

 

 

8. 전체 대문자로 변경 후 출력(BLACK, WHITE, RED, YELLOW)

ArrayList<String> datas = new ArrayList<>(Arrays.asList("black", "white", "red", "yellow"));
datas.stream().map(String::toUpperCase).forEach(System.out::println);

 

결과

 

 

 

9. 전체 대문자가 아닌 앞 글자만 대문자로 변경 후 출력(Black, White, Red, Yellow)

ArrayList<String> datas = new ArrayList<>(Arrays.asList("black", "white", "red", "yellow"));

datas.stream()
			.map(c -> c.charAt(0) >= 97 && c.charAt(0) <= 122 ? c.replace(c.charAt(0), (char)(c.charAt(0) - 32)) : c)
				.forEach(System.out::println);

 

결과

 

 

 

10. joining()

ArrayList<String> datas = new ArrayList<>(Arrays.asList("black", "white", "red", "yellow"));
System.out.println(datas.stream().collect(Collectors.joining(" ")));

 

결과

 

 

 

'웹 개발 > Java' 카테고리의 다른 글

[Web_JAVA] 37  (0) 2022.03.23
[Web_JAVA] 36  (0) 2022.03.22
[Web_JAVA] 34  (0) 2022.03.20
[Web_JAVA] 33  (0) 2022.03.19
[Web_JAVA] 32  (0) 2022.03.18