자료구조
1. 구조 배열 (Array)
// new 키워드를 사용해서, 배열을 미리 선언하고, 데이터를 넣을 수도 있다
Integer[] data_list = new Integer [10]
data_list[0] = 1
// 직접 배열 데이터 선언 시 넣을 수도 있다.
Integer data_list1[] = {5,4,3,2,1}
Integer[] data_list 2 = {1,2,3,4,5}
datalist_1[0] // 5
datalist_2[0] // 1
// 배열 내용 출력
Arrays.toString(배열)
• List 와 ArrayList
List는 인터페이스고, ArrayList 는 클래스이다
List<Integer> list1 = new ArrayList<Integer> // 인터페이스로 선언한 list1의 구현 클래스는 변경 가능하다
list1 = new LinkedList<Integer> 로 변경 가능
해당 강의에서는 인터페이스로 선언하지 않고 클래스로 선언하기로 정의함
배열의 아이템 추가 메서드 add(값)
list.add(3) // list 3인 값 추가
배열의 아이템 조회 메서드 get(인덱스번호)
list.get(0) // 0번째 인덱스 조회
배열의 특정 인덱스에 해당하는 아이템 변경 set(인덱스번호,변경할값)
list.set(0,5) // 0번째 인덱스의 값을 5로 변경
특정 인덱스에 해당하는 아이템 삭제 메서드 remove(인덱스번호)
list.remove(0) 0번째 인덱스에 해당하는 아이템 삭제
배열 길이 확인
list.size()
다차원 배열 작성
Integer data_list[][] = {{1,2,3},{4,5,6}};
data_list[0][1] // 2
data_list[1][1] // 5
2. 큐 (Queue)
- 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
- FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out)
- 멀티 태스킹을 위한 프로세스 스케쥴링 방식을 구현하기 위해 많이 사용된다.
• Enqueue : 큐에 데이터를 넣는 기능
• Dequeue : 큐에서 데이터를 꺼내는 기능
선언 방법
Queue<자료형> queue = new LinkedList<>();
데이터 추가
queue.add(값)
queue.offer(값)
데이터 반환 후 삭제 poll()
queue.poll(); // 1,2가 기존에 Queue에 담겨 있었다면 1을 반환하고 1 제거, 2만 남음
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'알고리즘 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 6일차 (0) | 2022.01.29 |
---|---|
패스트캠퍼스 챌린지 5일차 (0) | 2022.01.28 |
패스트캠퍼스 챌린지 4일차 (0) | 2022.01.27 |
패스트캠퍼스 챌린지 3일차 (0) | 2022.01.26 |
패스트캠퍼스 챌린지 1일차 (0) | 2022.01.24 |