본문 바로가기
부트캠프

[TIL] 유데미X사람인 취업 부트캠프 23일차 / java

by 상똥 2024. 1. 16.

[1. 오늘 배운 것]

1. ArrayList 정렬

- Collections.sort(배열이름);

 

2. Set 인터페이스

- 중복이 허용되지 않음

- 위치 접근을 제공하지 않음 (특정 위치에 요소 추가 불가능)

- 요소들을 쉽게 삽입할 수 있고 검색과 제거 또한 쉬움

- 배열에 비해 요소의 삽입이 빠름

 

3. Tree

- 노드를 기준으로 왼쪽에는 더 작은 값이, 오른쪽에는 더 큰 값이 삽입됨

 

4. HashSet, LinkedHashSet, TreeSet

- HashSet의 저장 방식 : modulo 

- LinkedHashSet의 저장방식 : 저장순서

- TreeSet의 저장방식 : 정렬

- 저장방식 비교

 

5. 숫자 반환

- floor : 이하값 중 가장 큰 값

- lower : 미만 값 중 가장 큰 값

- ceiling : 이상 값 중 가장 큰 값

- higher : 초과값 중 가장 큰 값

- subSet(이상값, 미만값)

 

6. Queue

- 선입선출 자료구조

 

7. Map

- 키key-값value 쌍

- 특정 키를 기반으로 값을 구할 수 있음

 

8. HashMap

- 키값이 중복될 수 없고, 같은 키에 다른 값을 삽입하면 그 값이 바뀐다

 

9. TreeMap

 

10. 제네릭

- MyCustomList.class

package oop2.jenerics;

import java.util.ArrayList;

public class MyCustomList<T> {

    ArrayList<T> list = new ArrayList<>();

    public  void addElement(T element){
        list.add(element);
    }

    public void removeElement(T element){
        list.remove(element);
    }
}

- Generics.class

package oop2.jenerics;

public class GenericsRunner {
    public static void main(String[] args) {
        MyCustomList<String> list = new MyCustomList();
        list.addElement("Element 1");
        list.addElement("Element 2");

        MyCustomList<Integer> list2 = new MyCustomList();
        list2.addElement(Integer.valueOf(5));
        list2.addElement(Integer.valueOf(7));

    }
}

 

11. 함수형 프로그래밍

- stream()

- 홀수 숫자만 걸러내기

- 모든 수 더하기

 

12. 함수형 프로그래밍 vs 구조적 프로그래밍

- 함수형 프로그래밍에서는 변수 변이를 피함

- 무엇을 할지에 중점을 둠 (방법x)

 

[2. 오늘 잘한 점]

오늘 내가 뭘 잘했더라,,,,, 강의를 끝까지 들었다 ^^;;;;;;;

 

[3. 개선해야할 점]

팀스터디 시간에 분명히 설명할게 많다고 생각했는데 너무 짧게 끝내버렸다 ^-^;;; 다음부터는 준비를 좀 더 철저히 해야겠다

그리고 아침에 너무 피곤해서 그냥 제시간에 왔다 내일부턴 다시 일찍일찍 와서 자바 한번씩 읽어야겠다~