목록Java (22)
Rootable의 개발일기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d44vGC/btsHmvdsCZe/HBIB9ccSjwbwEQqIEQbJq1/img.png)
📌 Set 인터페이스 중복되는 원소를 허용하지 않고, 저장 순서를 유지하지 않는 집합 순서 자체가 없으므로 Index로 객체를 검색해서 가져오는 get(index) 메서드가 존재하지 않으며, 중복 저장이 불가능하므로 null 값도 하나만 저장할 수 있다. 🔍 Methods 📖 종류 ✅ HashSet Hash 기능과 Set 컬렉션이 합쳐진 자료구조 배열과 연결 노드를 결합한 자료구조 형태로 Hash에 의해 데이터의 위치를 특정시켜 데이터를 빠르게 검색할 수 있다. 그래서 가장 빠른 임의 검색 속도를 가졌고, 추가/삭제/검색/접근성이 모두 뛰어나다. 마찬가지로 저장 순서가 없고 중복을 허용하지 않는다. ex) 중복 닉네임 검사 ✅ LinkedHashSet 순서를 가지는 Set Link + Hash ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cJL1X7/btsHmb0z5bB/D0Td7czKKxGfBKdDuk4Ym1/img.jpg)
A more complete and consistent set of LIFO stack operations is provided by the Deque interface and its implementations, which should be used in preference to this class.더욱 완전하고 일관된 LIFO 스택 작업은 Deque 인터페이스 및 해당 구현을 사용하여 구현하는 것이다.ref: https://docs.oracle.com/javase/8/docs/api/ 공식 문서를 보면 LIFO 구조를 구현할 때, Stack이 아닌 Deque를 사용하라고 한다. 그래서 Stack의 어떤 문제점 때문에 Deque를 사용해야 하는지 그 장점은 무엇인지 알아보고자 한다. 💥 Stack의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vJ45z/btsHmuESP1a/tJ3rvV3FYrTk1RqlwMTjBK/img.png)
📌 Queue Queue는 '대기열' 개념으로 선입선출(FIFO) 구조를 가진 자료구조다. 시간 순으로 어떤 작업 또는 데이터를 처리할 때 사용되며, 대표적으로 BFS(너비 우선 탐색)에 사용된다. MethodDescriptionboolean add(Object o)지정된 객체를 Queue에 추가저장공간 부족 시 IllegalStateException 발생Object remove()Queue에서 객체를 꺼내 반환비어있을 경우 NoSuchElementException 발생Object element()삭제없이 요소를 읽어온다.비어있을 경우 NoSuchElementException 발생boolean offer(Object o)Queue의 마지막에 객체를 추가Object poll()Queue의 첫 번째 요..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/RF4Uh/btsHgnNA3o3/JRiiQk7c9AM0nURfNttKIk/img.png)
🔸 ArrayList 구현 package list.arrayList;import interface_form.ListInterface;import java.util.Arrays;public class ArrayList implements ListInterface, Cloneable { private static final int DEFAULT_CAPACITY = 10; //최소(기본) 용적 크기 private static final Object[] EMPTY_ARRAY = {}; //빈 배열 private int size; //요소 개수 Object[] array; //요소를 담을 배열 //생성자1 (초기 공간 할당x) public ArrayList(..