2023/01/05 2

[JAVA] LinkedList

배열은 가장 기본적인 형태의 자료구조로 구조가 간단하고, 사용하기 쉽고 데이터를 읽어오는데 걸리는 시간이 가장 빠릅니다. 하지만 단점도 있다. 1. 크기를 변경할 수 없다. - 크기를 변경할 수 없으므로 새로운 배열을 생성해서 데이터를 복사해야한다. - 실행속도를 향상시키기 위해서는 충분히 큰 크기의 배열을 생성해야 하므로 메모리가 낭비된다. 2. 비순차적인 데이터의 추가 또는 삭제에 시간이 많이 걸린다. - 차례대로 데이터를 추가하고 마지막에서부터 데이터를 삭제하는 것은 빠르지만, 배열의 중간에 데이터를 추가하려면, 빈자리를 만들기 위해 다른 데이터들을 복사해서 이동해야 한다. 위와 같은 배열의 단점을 보완하기 위해 나타난 자료구조가 LinkedList이다. 배열은 모든 데이터가 연속적으로 존재하지만 ..

[JAVA] ArrayList 사용방법

ArrayList란? ArrayList는 Object배열을 이용해서 데이터를 순차적으로 저장한다. 배열에 저장할 공간이 없다면 더 큰 새로운 배열을 선언하여 기존 배열의 내용을 복사하여 붙여놓은 다음 새로운 내용을 순서대로 저장한다. List 인터페이스를 상속받아 사용함. ArrayList는 객체가 추가되어 용량을 초과하면 자동으로 부족한 크기만큼 용량이 늘어남. 배열은 데이터를 추가, 삭제 시 반복문으로 인덱스를 한 칸씩 밀거나 당기는 식으로 공간을 조절하지만 ArrayList는 이 과정을 자동으로 처리해주어서 편리하게 사용이 가능함. 즉, 장점과 단점을 정리해 보자면 장점 데이터에 순서가 있음 데이터의 중복 저장 허용 index를 통한 검색 빠름 단점 데이터 추가, 삭제가 느림 ArrayList 선언..

728x90