>  기사  >  Java  >  Java에서 ArrayList와 일반 배열의 차이점은 무엇입니까? 얼마나 효율적인가요?

Java에서 ArrayList와 일반 배열의 차이점은 무엇입니까? 얼마나 효율적인가요?

王林
王林앞으로
2019-11-25 13:37:353225검색

Java에서 ArrayList와 일반 배열의 차이점은 무엇입니까? 얼마나 효율적인가요?

다음 칼럼에서는 java Quick Start 칼럼에서 ArrayList와 일반 배열의 차이점을 소개합니다.

ArrayList란 무엇인가요?

ArrayList의 구현 원리는 실제로 배열(동적 배열)입니다.

동적 배열과 일반 배열의 차이점은 무엇인가요?

Java의 배열과 비교하여 ArrayList의 용량은 동적으로 증가할 수 있습니다.

ArrayList는 얼마나 효율적인가요?

ArrayList는 스레드로부터 안전하지 않으므로 더 효율적이지만 단일 스레드 환경에서만 사용할 수 있습니다.

ArrayList는 주로 어떤 클래스를 상속하고 어떤 인터페이스를 구현하나요?

ArrayList는 주로 AbstractList 클래스를 상속하고 List, RandomAccess, CloneableSerialized를 구현합니다. 인터페이스 AbstractList类,实现了ListRandomAccessCloneableSerializable接口

public class ArrayList<E> extends AbstractList<E>
        implements List<E>, RandomAccess, Cloneable, java.io.Serializable

RandomAccess

// 序列ID
private static final long serialVersionUID = 8683452581122892189L;

// ArrayList默认的初始容量大小
private static final int DEFAULT_CAPACITY = 10;

// 空对象数组,用于空实例的共享空数组实例
private static final Object[] EMPTY_ELEMENTDATA = {};

// 空对象数组,如果使用默认的构造函数创建,则默认对象内容是该值
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};

// 存放当前数据,不参与序列化
transient Object[] elementData; // non-private to simplify nested class access

// list大小
private int size;

RandomAccess는 ArrayList가 O(1)[^1]의 시간 복잡도로 첨자를 기반으로 요소에 액세스할 수 있다는 것을 의미합니다. ArrayList의 기본 구조가 배열이기 때문에 연속적인 메모리 공간을 차지하고 길이가 배열의 크기이므로 배열의 단점도 있고 공간적으로 그리 효율적이지 않지만 장점도 있습니다. 즉, 쿼리 속도가 빠르고 시간 효율성이 더 빠릅니다.

ArrayList의 상수와 변수는 무엇인가요?

rrreee

컬렉션의 요소가 배열의 지정된 길이를 초과하면 배열이 확장됩니다. 특히 ArrayList 저장 작업이 느린 이유는 확장 작업으로 인해 시간이 소모되기 때문입니다. 확장할 때마다 점점 더 많아질 것입니다. 🎜

위 내용은 Java에서 ArrayList와 일반 배열의 차이점은 무엇입니까? 얼마나 효율적인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제