Java 2주차 (2)

신성훈·2024년 4월 24일
0

TIL

목록 보기
6/162

오늘의 학습 키워드

  • 다차원 배열
  • 컬렉션

다차원 배열

  • 2차원 배열
    -int[][] array
    -int array[][]
    -int[] array[][]

  • 2차원 배열 생성
    -int[][] array = new int[][]

    가변길이 지정 가능
    ex) int [][] array = new int[3][]

컬렉션

-참조형 변수를 저장한다.
-크기를 자동조정 / 추가 / 수정 / 삭제 / 반복 / 순회 / 필터
-List: 순서가 있다. 데이터 중복허용
-Set: 데이터 중복 허용 안함, 집합 (교집합, 여집합)
-Queue: FIFO
-Map: 순서가 없다. Key (unique, 중복허용안함), Value // Key로 Value를 찾는다

  • List
    -순서가 있는 데이터 집합
    -처음에 길이를 몰라도 가능
    -List(ArrayList) -> 동적배열(크기가 가변적으로 늘어난다)
    -생성 시점에 작은 연속된 공간을 요청해서 참조형 변수들을 담아 놓는다.
    -값이 추가될 때 더 큰 공간이 필요하면 더 큰 공간을 받아서 저장한다.

  • Array
    -최초 길이를 알아야함
    -정적배열

1.ArrayList

-add 값 추가 / get 순번 으로 값 불러옴
set 값 수정 / remove 삭제 / otString 전체출력 / clear 초기화

2.LinkedList

-메모리에 남는 공간을 요청해서 여기 저기 나누어서 실제 값을 담아 놓는다.
-실제 값이 있는 주소값으로 목록을 구성하고 저장하는 자료구조.
-기본적 기능은 ArrayList와 동일하다
-LinkedList는 값을 여기 저기 나누어서 -> 조회하는 속도가 느리다
-값을 추가하거나, 삭제 할때는 빠르다.

3.Stack

-수직으로 값을 쌓아놓고, 넣었다 뺀다 FILO(Basket)
-push, peek, pop
-최근 저장된 데이터를 나열하고 싶거나, 데이터의 중복 처리를 막고 싶을때 사용

4.Queue : FIFO

-add, peek, poll
-생성자가 없음

5.Set(집합)

-순서 없고, 중복 없음
-순서가 보장 되지 않고 대신 중복을 허용하지 않도록 하는 프로그램에서 사용 할 수 잇는 자료구조
-set 그냥 쓸 수도 있음 그러나, HashSet, TreeSet 등으로 응용해서 같이 사용 가능
-생성자가 없음
-생성자가 존재하는 HashSet을 이용해서 Set을 구현 할 수 있음
-순서보장이 필요하면 LinkedHashSet 을 주로 사용합니다.
-contains 메소드를 통해서 해당 set에 값이 있는지 확인 할 수 있다.

6.Map

-Key - Value pair
-Key라는 값으로 unique 하게 보장
-Map-> HashMap, TreeMap 으로 응용
-중복이면 마지막 값으로 덮어쓰기가 됨

📝오늘의 회고

2주차 두 번째까지 강의를 들었는 데 쉽지는 않다.
복습만이 살길!!!
오늘도! 쳐지지 말고 포기하지말고 힘내서 가보자고~~~

profile
조급해하지 말고, 흐름을 만들고, 기록하면서 쌓아가자.

0개의 댓글