본문 바로가기

내일배움캠프 4기 스프링/내배캠 TIL📘

02. 27 TIL

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