데이터
-
컬렉션 List - LinkedList백엔드/자바 2020. 8. 16. 03:57
연결리스트(LinkedList)의 등장 배경 기존의 ArrayList의 경우 이전 글에서 언급했듯이 단점이 존재한다. 우선 배열이 확장될 때마다 새로운 배열을 생성해서 복사하는 과정을 지속한다. 그렇다보니 실행 속도에서 손해를 본다. 만약 배열 크기를 미리 크게 잡으면 메모리 낭비가 생긴다. 또한 배열의 중간 데이터를 추가, 삭제할 경우 데이터 이동이 일어나 실행 시간이 오래 걸린다. ArrayList는 배열을 기반으로 하다보니 ArrayList 또한 배열의 단점을 그대로 가져간다. 이러한 ArrayList의 단점을 보완하는것이 연결리스트(LinkedList)다. 연결리스트(LinkedList)란? 연결리스트란 불연속적으로 존재하는 데이터를 서로 연결(link)한 형태로 구성된 리스트를 말한다. 이렇게 ..
-
컬렉션 프레임워크(collection framework)백엔드/자바 2020. 8. 16. 02:21
컬렉션 프레임워크의 필요성 자바를 배우기 시작하면 데이터 관리를 위한 기능인 배열을 배우게 된다. 하지만 배열은 사용하다보면 여러 면에서 한계가 드러난다. 그 중에서 가장 큰 한계 중 하나는 배열을 선언시 크기를 미리 지정해야한다는 것이다. 예를 들어 위와 같이 정수형 데이터 3개를 넣을 수 있는 배열을 선언했다고 가정해보자. 여기서 3개의 정수형 데이터까지는 정상적으로 입력되지만, 4개부터는 컴파일 오류를 발생시킨다. 자바를 이용해 계속 개발하다보면 배열의 크기를 미리 가늠할 수 없는 경우가 더 많다. 그럴때마다 별도의 처리를 해주는 등의 불편함이 발생한다. 또한 배열은 단 한가지 타입의 데이터만 입력이 되므로 이러한 점도 불편함을 발생시킨다. 이러한 배열의 한계로 인해 데이터를 다루기 위한 컬렉션 프..