728x90
1. 최종 프로젝트
레디스에 대해 공부
프론트 페이지 구현 : 정말 너무 승질난다, 너무 귀찮다!
2. 후발대 수업 및 복습
Stream
package com.sparta.hbd04.Prac15;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class _05_Stream {
public static void main(String[] args) {
// 스트림 생성
// Arrays.stream
int[] scores = {100, 95, 90, 85, 80};
IntStream scoreStream = Arrays.stream(scores);
String[] langs = {"python", "java", "javascript", "c", "c++", "c#"};
Stream<String> langStream = Arrays.stream(langs);
// Collections.stream()
List<String> langList = new ArrayList<>();
// langList.add("python");
// langList.add("java");
langList = Arrays.asList("python", "java", "javascript", "c", "c++", "c#");
// System.out.println(langList.size());
// 컬렉션 프레임워크에서는 스트림을 바로 만들수 있다
Stream<String> langListStream = langList.stream();
//Stream.of();
Stream<String> langListOfStream = Stream.of("python", "java", "javascript", "c", "c++", "c#");
// 스트림 사용
// 중간 연산 = intermediate operation : filter, map, sorted, distint, skip 등
// 최종 연산 = terminal operation : count, min, max, sum, forEach, anyMatch, allMatch
// 90점 이상만 출력
Arrays.stream(scores).filter(x -> x >= 90).forEach(x -> System.out.println(x));
// Arrays.stream(scores).filter(x -> x >= 90).forEach(System.out::println);
// 90점 이상인 사람의 수
long count = Arrays.stream(scores).filter(x -> x >= 90).count();
System.out.println(count);
// 90점 이상인 사람들의 점수들의 합
int sum = Arrays.stream(scores).filter(x -> x >= 90).sum();
System.out.println(sum);
// 90점 이상인 사람들을 오름차순으로 정렬
Arrays.stream(scores).filter(x -> x >= 90).sorted().forEach(System.out::println);
//"python", "java", "javascript", "c", "c++", "c#"
// c로 시작하는 프로그래밍 언어
Arrays.stream(langs).filter(x -> x.startsWith("c")).forEach(System.out::println);
// java 글자를 포함하는 프로그래밍 언어
Arrays.stream(langs).filter(x -> x.contains("java")).forEach(System.out::println);
// 4글자 이하의 언어를 정렬해서 출력 ~ 컬렉션은 stream() 괄호 안에 인자 넣을 필요 없다
langList.stream().filter(x -> x.length() <= 4).sorted().forEach(System.out::println);
// 4글자 이하의 언어 중 c라는 글자를 포함하는 언어
langList.stream()
.filter(x -> x.length() <= 4)
.filter(x -> x.contains("c")).forEach(
System.out::println);
// 4글자 이하의 언어 중 c라는 글자를 포함하는 언어가 하나라도 있는지 여부
boolean anyMatch = langList.stream()
.filter(x -> x.length() <= 4)
.anyMatch(x -> x.contains("c"));
System.out.println(anyMatch);
// 4글자 이하의 언어들은 모두 c라는 글자를 포함하는 지 여부
boolean allMatch = langList.stream()
.filter(x -> x.length() <= 4)
.allMatch(x -> x.contains("c"));
System.out.println(allMatch);
// 4글자 이하의 언어 중에 c라는 글자를 포함하는 언어 뒤에 (어려워요)라는 글자를 함께 출력
// map
langList.stream()
.filter(x -> x.length() <= 4)
.filter(x -> x.contains("c"))
.map(x -> x + "(어려워요)")
.forEach(System.out::println);
// c라는 글자를 포함하는 언어를 대문자로 출력
langList.stream()
.filter(x -> x.contains("c"))
.map(String::toUpperCase)
.forEach(System.out::println);
// c라는 글자를 포함하는 언어를 대문자로 변경하여 리스트로 저장
List<String> langListStartsWithC = langList.stream()
.filter(x -> x.contains("c"))
.map(String::toUpperCase)
.collect(Collectors.toList());
langListStartsWithC.stream()
.forEach(System.out::println);
}
}
Thread
3. 개인 공부
SW 아키텍처란?
728x90
'내일배움캠프 4기 스프링 > 내배캠 TIL📘' 카테고리의 다른 글
03. 02 TIL (0) | 2023.03.03 |
---|---|
02. 28 TIL (0) | 2023.02.28 |
02. 23 TIL (0) | 2023.02.23 |
02. 22 TIL (0) | 2023.02.22 |
02. 21 TIL (0) | 2023.02.21 |