전체 글(129)
-
현황
코드가 작성되는 글은 아니니 코드 보러 온 사람은 뒤로가기 시도- 그림 그려가며 필요한 속성, 기능 정리- 동작에 대한 책임, 작성 위치 등 다방면 고려 - 주먹구구식 코드 작성- 일어나야 할 일을 열거해놓고 하나씩 구현 문제 및 진행 방향- 암만 머리 짜도 당장 보이지 않는 부분들이 있었음-> 코드로 작성해가면서 수정 - 왜? 라는 질문을 계속하다 산으로 가는 경우가 있었음-> 최대시간 1시간으로 두고 넘어가면 그냥 gpt 랑 sof 뒤짐 - 해당 코드에서 발생할 수 있는 예외 문제와 그 처리 방법을 잘 모름-> 작은 문제( 이번처럼 카드 게임을 만들어보거나, 카페나 기타 등등을 구현해보는 등)를 아무것도 안 보고 풀어보면서 경험치 축적 필요해보임. 향후 방향성현재 자바 컬렉션까지 학습함. 기본부터..
2024.07.30 -
Deque
Dequedouble Ended Queue 의 약어이다. 구현체Deque의 대표적 구현체는- ArrayDeque- Linkedlist 등이 있다. Stack Vs DequeQueue는 뒤에서 넣으면 앞으로 나오는 구조를 갖고 있는데,한쪽에서는 넣고, 한쪽에서 빼기만 하면 역할은 명확하나, 유연성이 떨어진다.양방향에서 넣고, 빼고 넣을 수 있는 Queue. 그것이 Deque 이다. 앞선 글에서 Stack 쓸 바에 Deque 쓰는 게 낫다. 라고 했는데그 이유는 아래와 같다.앞서 말했듯, Stack은 Vector 자료구조를 상속한다. Vector 는 옛 언어들과의 호환성을 위해 만들어진 것으로, 이제 쓰이지 않는다.앞, 혹은 뒤에서만 넣기, 빼기를 한다는 것은 Stack 의 Last In First Out ..
2024.07.17 -
Queue
QueueStack 이 FIFO 이었다면, Queue 는 FIFO(First In First Out) 이다.Collection 중 Queue 인터페이스를 상속하며, Queue 밑으로, Deque 인터페이스, ArrayDeque, LinkedList 등의 구현체가 있다.
2024.07.16 -
Stack
StackLIFO(Last In First Out)의 형태를 띄는 자료 구조이다. 자바에서 Stack 클래스는.Vector 라는 자료구조를 사용한다. Vector는 자바 1.0에 개발되었으나,지금은 거의 사용되지 않는다. (하위호환 목적으로 존재는 함) Stack 보다는 Deque 를 사용하는 편이 좋다고 한다. 그 이유는 다음 글에서 알아보자.
2024.07.16 -
Map
MapKey, Value 의 쌍을 저장하 자료구조key값을 데이터 접근 수단으로 사용한다. 특징- key는 중복을 허용하지 않는다.- value 의 중복은 허용된다.- Map은 순서를 보장하지 않는다.- List, Set 과 다르게 Collection을 상속하지 않는다. 구현체- HashMap - LinkedHashMap- TreeMap 등 Map Vs Set공통점- 순서 보장 안 함- 중복 허용 안 함 (Map 의 경우, Key가 그렇다) 차이점- Key와 Value 쌍으로 이루어져 있는지 아닌지 차이 HashMap 이 가장 보편적으로 쓰인다.
2024.07.16 -
Set
Set (Interface)쉽게 말해, 집합이다. 특징중복이 허용되지 않는다.순서를 보장하지 않는다. (단, LinkedHashSet은 연결 구조를 통해 순서를 보장한다.) 구현체구현체로는 아래와 같은 것들이 있다.HashSetLinkedHashSetTreeSetHashSetHash 알고리즘을 활용하는 Set 자료구조이다. Hash 알고리즘이란?자바에서 hash알고리즘이란, 데이터를 숫자화 하여, 그 값을 자료구조의 인덱스(Index)로서 활용하는 기법이다. 특징동일한 자료에 대해, 동일한 hash값이 나온다.불필요한 저장공간 생성(메모리 할당)을 피하기 위해 % CAPACITY 연산이 수행된다. 장점인덱스를 활용하게 되므로, 데이터 접근 속도가 빠르다. 단점Hashing 과정에서 동일한 hash값이 ..
2024.07.16