2022/04/11 2

Deque, LinkedList 와 ArrayDeque

이번 시간에는 Deque 인터페이스를 알아보고 이의 구현체인 LinkedList와 ArrayDeque를 알아보고 비교할 것이다. 1. Deque란? 원소의 추가와 삭제를 둘 다 끝부분에서 지원하는 선형 collection. Deque라는 이름은 double ended queue의 줄임말이고 주로 "deck"으로 발음된다. 대부분의 Deque(Double eneded queue) 구현체는 Deque가 포함하고 있는 원소의 수에 고정된 제한이 없다. 하지만, 이 인터페이스는 고정된 사이즈 제한을 가진 것들과 마찬가지로 용량 제한(capacity-restricted) deque를 지원한다. 이 인터페이스는 deque의 끝부분 둘 다에 접근하는 메소드를 정의한다. insert, remove, examine이 제..

직렬화란 무엇인가 ? / serialVersionUID 설정 이유

1. 재미있는 직렬화 이야기 화성과 지구간의 통신 때는 2040년... 화성은 식민 행성으로 발전했다. 근데 지구에서 로봇을 만들었다. 근데 화성에서도 마침 로봇을 만들었는데 지구의 로봇보다 성능이 좋아서 이것을 사용하기로 결정했다. 두 행성 과학자들이 미팅 후 화성에서 지구로 로봇을 보내기로 했다. 그런데, 문제가 발생했다! 로봇 100개를 지구로 보내는 비용이 100만 달러라고 한다. 여행 기간은 무려 60일이 걸린다고 한다. 비용 문제로 고민한 결과, 화성의 과학자들은 이 로봇의 핵심 기술을 지구의 과학자들과 공유하기로 한다. 이 핵심 기술은 로봇의 구조에 관한 것이다. 화성 로봇들은 지구의 로봇들과 같은 구조로 개발됐고, 화성 과학자들은 로봇 각각 부품의 데이터를 직렬화해서 지구로 보냈다. 지구의..