Arraylist 란 무엇입니까?
컴퓨터 프로그래밍의 Arraylist는 컴퓨터 배열처럼 작동하지만 필요에 따라 배열의 크기를 동적으로 증가시키는 능력을 구현하는 데이터 구조입니다. 프로그램 실행 중에 크기를 조정할 수없는 고유 배열 데이터 유형과 달리 Arraylist 구조는 요소의 추가 또는 삭제에 응답하여 배열의 크기를 성장시키고 축소 할 수 있습니다. 매우 유리한 성능 프로파일이있어 데이터 수집에 빠르게 무작위로 액세스 할 수 있습니다. 그러나 다른 데이터 구조보다 느린 두 가지 인스턴스, 즉 배열 중간에서 요소의 추가 및 제거가 있습니다. 대부분의 객체 지향 프로그래밍 언어에는 이러한 목록의 일부 유형이 있습니다. 때로는 동적 배열이라고도합니다.
ArrayList를 사용하면 주소를 찾기 위해 전체 데이터 시퀀스를 통과하지 않고 인덱스 번호가있는 데이터 객체에 즉시 액세스 할 수있는 기능을 제공합니다.링크 된 목록과 함께. 필요에 따라 배열의 크기를 늘릴 수 있으므로 유연성과 속도를 모두 고려하는 매우 균형 잡힌 접근 방식입니다. 또한 이러한 목록에서 요소가 제거되면 배열의 크기가 줄어 메모리 공간을 확보합니다.
다른 일부 데이터 구조를 통해 Arraylist를 사용하면 래퍼 객체가 저장된 데이터를 포함 할 필요가 없다는 것입니다. 링크 된 목록 또는 해시 테이블의 경우 일반적으로 컬렉션을 유지하고 조작하는 데 사용되는 기술을 유지하기 위해 별도의 객체가 필요합니다. ArrayList를 사용하면 데이터 객체에 필요한 유일한 정보는 메모리의 객체 주소입니다. 즉,이 유형의 목록으로 작업 할 때 오버 헤드 메모리 사용량이 적습니다.
배열 목록을 사용하는 데있어 잠재적 인 문제는 구현 및 메모리 관리 시스템에서 나올 수 있습니다. 대부분의 배열은 Al입니다연속 메모리 위치로 위치합니다. 따라서 특정 크기의 배열 목록을 사용하려면 최소한 많은 메모리를 중단되지 않은 블록 시퀀스로 사용할 수 있어야합니다. 동적 배열은 여러 번 크기를 조정할 수 있으므로 메모리 조각화가 발생하여 메모리 할당 실패로 이어지고 프로그램 실행을 중단시킬 수 있습니다.
배열 목록의 성능은 표준 배열을 사용하는 것과 유사하지만 배열이 객체에 캡슐화되어 액세스 시간이 약간 느려집니다. 구현에 따라 동적 배열이 급격히 느려질 수있는 인스턴스 중 하나는 배열의 크기를 변경 해야하는 경우입니다. 여기에는 현재 배열을 새로운 원하는 크기에 할당 된 새로운 배열로 복사하여 성능이 일시적인 저하를 일으킬 수 있습니다. 목록 중간에서 요소를 추가하거나 제거 할 때 동일한 문제가 발생할 수있어 다음 모든 요소가 새 위치로 이동해야합니다.
.