Java 배열과 Arraylist의 차이점
1) 끊임없는 설명 :
ArrayList를 "용량을 자동으로 증폭시키는 배열"으로 생각하십시오.
2) 배열 ([]) : 가장 효율적이지만 용량은 고정되어 있으며 동적으로 변경할 수 없습니다.
Arraylist : 용량은 역동적으로 성장할 수 있습니다.
3) 제안 :
효율성 및 유형 확인에 따라 배열은 배열 크기를 결정할 수없는 경우에만 사용해야합니다!
그러나 더 일반적인 문제를 해결하려고 할 때 배열의 기능이 너무 제한적일 수 있습니다.
4) Java의 모든 것은 객체이며 어레이도 물체입니다. 사용하는 배열 유형에 관계없이
배열 이름 자체는 실제로 힙 내 실제 물체를 가리키는 참조입니다.
이 개체는 "배열 초기화 구문"을 통해 또는 새 표현식으로 수동으로 자동으로 생성 할 수 있습니다.
5) 배열 자체는 객체의 참조이기 때문에 함수 리턴 값으로 사용할 수 있습니다.
6) 객체 배열은 사용중인 기본 유형 배열과 거의 동일합니다.
예를 들어:
String [] 직원 = New String [100];
7) 컨테이너가 보유하는 것은 실제로 모든 유형을 저장할 수 있도록 객체를 가리키는 참조입니다. 물론 기본 유형이 클래스에서 상속되지 않기 때문에 기본 유형은 포함되지 않습니다.
8) 배열에 직면하여 기본 유형 값의 배열 (예 : int [] num;) 또는 객체를 가리키는 배열을 직접 보유 할 수 있지만 컨테이너 클래스는 컨테이너를 가리키기 위해서만 참조 할 수 있습니다. 그러나 래퍼 클래스는 사용하기 쉽지 않을 수 있습니다. 프리미티브 배열의 효율성은 "기본 유형의 참조를 수락하는"컨테이너보다 훨씬 낫습니다.
물론 작동 객체가 기본 유형이고 공간이 충분하지 않을 때 용량을 자동으로 증폭시켜야하는 경우 배열이 적합하지 않으므로 커버 타입 컨테이너를 사용해야합니다.
9) 경우에 따라 컨테이너 클래스는 원래 유형으로 변환되지 않더라도 여전히 올바르게 작동 할 수 있습니다. 특히 특별한 상황이 있습니다. 컴파일러는 문자열 클래스가 원활하게 작동하도록 추가 지원을 제공합니다.
10) 정렬, 검색 및 비교와 같은 배열의 일부 기본 작업은 매우 일반적입니다. 따라서 배열 클래스는 Java로 제공되어 이러한 작업을 지원합니다. Sort (), binarysearch (), equals (), fill (), aslist ().
그러나 배열 클래스는 삭제 메소드를 제공하지 않으며 ArrayList에는 remove () 메소드가 있습니다.
11) ArrayList를 사용하는 것도 매우 간단합니다. ArrayList를 생성하고 add ()를 사용하여 객체를 배치 한 다음 get (i)를 사용하여 색인 값을 제거하십시오. 이 모든 것은 배열 사용과 정확히 동일하지만 [] 만 더 적습니다.
2. 참조 자료 :
1) 효율성 :
배열 확장은 배열리스트 효율에 더 큰 영향을 미치는 요소입니다.
Add, AddRange, Insert, InserTrange와 같은 방법이 실행될 때마다 내부 배열의 용량이 전류 용량의 두 배에서 배열을 재구성하고 기존 배열을 복사하면 기존 배열이 더욱 영향을 미칩니다.
ArrayList는 복잡한 배열 버전입니다
ArrayList는 객체 유형 배열을 캡슐화하면 배열, 인덱스, 깔기 등과 같은 많은 배열 방법과 직접적으로 배열의 해당 메소드가 있습니다.
2) 유형 식별 :
ArrayList는 객체를 저장하면 유형 정보가 폐기되고 모든 객체가 객체로 차단되지 않지만 런타임에 오류 가보고됩니다.
ArrayList와 Array의 차이는 주로 동적 용량 증가 효율로 인한 것입니다.
3) ArrayList는 문자열 등과 같은 객체를 저장할 수 있습니다.
읽어 주셔서 감사합니다.이 사이트에 대한 지원에 감사드립니다.