Queue 구현 시, LinkedList보다 ArrayDeque를 추천하는 이유
·
JAVA
Q를 쓸 때는 LinkedList보단 ArrayDeque를 쓰도록 하자사유는 ArrayDeque가 메모리 사용 & 속도 면에서 더 효율적이기 때문이다- Q는 인터페이스고 이것을 구현하는 구현체가 LinkedList & ArrayDeque가 있음- 근데 ArrayDeque가 메모리 사용 & 속도 면에서 더 효율적이라고 함 (오늘의 핵심)- LinkedList는 참조 객체 관리 비용 때문에 메모리 사용이 높다고...더보기참조 객체 관리 비용이란? 한줄 요약 : 각 노드가 누구를 가리키고 있는지 기억해둬야고, 이것 자체가 관리 비용이라는 것 LinkedList는 각 노드(Node)가 다음/이전 노드를 가리키는 "참조(Reference)"를 저장하는 방식으로 연결됨이것 자체가 추가적인 메모리와 CPU 비용이 발..
Comparator vs Comparable, 태그매치
·
JAVA
어째서 매번 기억이 나지 않는게야...Comparator vs Comparable을 매번 헷갈리고 구현해야하는 타이밍도 헷갈려한다이게 맞나? 아무리 암기보단 이해를 우선시한다지만, 솔직히 다섯번 넘게 헷갈리고 틀렸으면 이건 외워야하는 것이 맞다고 본다지금부터 외워보자(1) 우선 짚고 넘어가야 할 기본 정보Comparable과 Comparator는 모두 객체를 정렬하는 인터페이스(interface)이다But, 사용방법과 목적이 다르다(2) 그렇다면 둘의 차이점은?Comparable과 Comparator의 역할은 비슷한 것 같은데 아래 내용을 두줄 요약하면 아래와 같다Comparable은 자기 자신과 매개변수 객체를 비교하는 것 (비교 기준 1개만 작성 가능, `int compareTo(T o)`)Compa..