자바의 배열리스트
Java의 ArrayList는 크기 조정 가능 (또는 동적) 배열 java.util 패키지 크기가 고정된 일반 배열과 달리 요소가 추가되거나 제거됨에 따라 자동으로 늘어나거나 줄어들 수 있습니다.
- 색인화된 액세스: 배열과 마찬가지로 인덱스를 사용하여 요소에 액세스할 수 있습니다.
- 중복 허용: 중복 요소가 허용됩니다.
- 게재 신청서 유지: 요소는 삽입된 순서대로 저장됩니다.
- 동기화되지 않음: 기본적으로 ArrayList는 스레드로부터 안전하지 않습니다(동시 액세스를 위해서는 수동 동기화가 필요함).
import java.util.ArrayList ; class Main { public static void main ( String [] args ) { // Creating an ArrayList ArrayList < Integer > a = new ArrayList < Integer > (); // Adding Element in ArrayList a . add ( 1 ); a . add ( 2 ); a . add ( 3 ); // Printing ArrayList System . out . println ( a ); } }
산출
[1 2 3]
ArrayList의 계층 구조
구현합니다 목록 인터페이스 이는 하위 인터페이스입니다. 수집 인터페이스 .
Java의 ArrayList 생성자
Java는 다양한 요구 사항에 따라 ArrayList를 생성하기 위한 여러 생성자를 제공합니다.
1. 배열목록()
기본 초기 용량을 사용하여 빈 ArrayList를 만듭니다.
배열목록
arr = 새로운 ArrayList <>();
2. 배열목록 arr = 새로운 ArrayList <>()
지정된 컬렉션의 요소로 초기화된 ArrayList를 만듭니다.
배열목록
arr = 새로운 ArrayList <>(수집);
3. ArrayList(intinitialCapacity)
이 생성자는 지정된 초기 용량으로 배열 목록을 작성하는 데 사용됩니다.
배열목록
arr = 새로운 ArrayList <>(20);
ArrayList의 작업
이제 생성자를 사용하여 ArrayList의 요소 삽입 및 업데이트와 같은 추가 작업을 위한 ArrayList를 얻었습니다.
Java import java.util.* ; class GFG { public static void main ( String args [] ){ // Creating an Array of string type ArrayList < String > al = new ArrayList <> (); // 1. Adding elements to ArrayList at the end al . add ( 'Geeks' ); al . add ( 'Geeks' ); System . out . println ( 'Original List : ' + al ); // Adding Elements at the specific index al . add ( 1 'For' ); System . out . println ( 'After Adding element at index 1 : ' + al ); // 2. Removing Element using index al . remove ( 0 ); System . out . println ( 'Element removed from index 0 : ' + al ); // Removing Element using the value al . remove ( 'Geeks' ); System . out . println ( 'Element Geeks removed : ' + al ); // 3. Updating value at index 0 al . set ( 0 'GFG' ); System . out . println ( 'List after updation of value : ' + al ); } }
산출
Original List : [Geeks Geeks] After Adding element at index 1 : [Geeks For Geeks] Element removed from index 0 : [For Geeks] Element Geeks removed : [For] List after updation of value : [GFG]
Java ArrayList의 복잡성
| 작업 | 시간 복잡도 | 공간 복잡도 |
|---|---|---|
| ArrayList에 요소 삽입 | 오(1) | 에) |
| ArrayList에서 요소 제거 | 에) | 오(1) |
| ArrayList의 요소 순회 | 에) | 에) |
| ArrayList의 요소 교체 | 오(1) | 오(1) |
Java ArrayList 메소드
| 방법 | 설명 |
|---|---|
| add(int index 객체 요소) | 이 방법은 목록의 특정 위치 인덱스에 특정 요소를 삽입하는 데 사용됩니다. |
| add(객체 o) | 이 메서드는 목록 끝에 특정 요소를 추가하는 데 사용됩니다. |
| addAll(컬렉션 C) | 이 메서드는 지정된 컬렉션의 반복자가 값을 반환하는 순서대로 특정 컬렉션의 모든 요소를 언급된 목록 끝에 추가하는 데 사용됩니다. |
| addAll(int 인덱스 컬렉션 C) | 특정 컬렉션의 지정된 위치에서 시작하는 모든 요소를 언급된 목록에 삽입하는 데 사용됩니다. |
| 분명한() | 이 메소드는 목록에서 모든 요소를 제거하는 데 사용됩니다. |
| 클론() | 이 메소드는 Java에서 ArrayList의 얕은 복사본을 반환하는 데 사용됩니다. |
| 포함(객체 o) | 이 목록에 지정된 요소가 포함되어 있으면 true를 반환합니다. |
| verifyCapacity(int minCapacity) | 최소 용량 인수로 지정된 요소 수 이상을 보유할 수 있도록 필요한 경우 이 ArrayList 인스턴스의 용량을 늘립니다. |
| forEach(소비자 super E>행동) | 모든 요소가 처리되거나 작업에서 예외가 발생할 때까지 Iterable의 각 요소에 대해 지정된 작업을 수행합니다. |
| get(정수 인덱스) | 이 목록의 지정된 위치에 있는 요소를 반환합니다. |
| indexOf(객체 O) | 특정 요소가 처음 나타나는 인덱스가 반환되거나 해당 요소가 목록에 없는 경우 -1이 반환됩니다. |
| 비어있음() | 이 목록에 요소가 없으면 true를 반환합니다. |
| lastIndexOf(객체 O) | 특정 요소가 마지막으로 나타나는 인덱스가 반환되거나 해당 요소가 목록에 없으면 -1이 반환됩니다. |
| 목록반복자() | 이 목록의 요소에 대한 목록 반복자를 (적절한 순서로) 반환합니다. |
| listIterator(int 인덱스) | 목록의 지정된 위치에서 시작하여 이 목록의 요소에 대한 목록 반복자를(적절한 순서로) 반환합니다. |
| 제거(int 인덱스) | 이 목록의 지정된 위치에 있는 요소를 제거합니다. |
| 제거(객체 o) | 지정된 요소가 있는 경우 이 목록에서 첫 번째로 나타나는 요소를 제거합니다. |
| RemoveAll(컬렉션 c) | 지정된 컬렉션에 포함된 모든 요소를 이 목록에서 제거합니다. |
| RemoveIf(조건자 필터) | 주어진 조건을 만족하는 이 컬렉션의 모든 요소를 제거합니다. |
| RemoveRange(int fromIndex int toIndex) | 인덱스가 포함 인덱스와 제외 인덱스 사이에 있는 모든 요소를 이 목록에서 제거합니다. |
| keepAll(컬렉션 >기음) | 지정된 컬렉션에 포함된 이 목록의 요소만 유지합니다. |
| set(int 인덱스 E 요소) | 이 목록의 지정된 위치에 있는 요소를 지정된 요소로 바꿉니다. |
| 크기() | 이 목록의 요소 수를 반환합니다. |
| 분할기() | 이 목록의 요소에 대해 지연 바인딩 및 빠른 실패 Spliterator를 만듭니다. |
| subList(int fromIndex int toIndex) | 지정된 fromIndex 포함과 toIndex 제외 사이에 있는 이 목록의 부분에 대한 뷰를 반환합니다. |
| toArray() | 이 메소드는 목록의 모든 요소를 올바른 순서로 포함하는 배열을 반환하는 데 사용됩니다. |
| toArray(Object[] O) | 또한 이전 메서드와 동일한 올바른 순서로 이 목록의 모든 요소를 포함하는 배열을 반환하는 데 사용됩니다. |
| 트림투사이즈() | 이 메서드는 ArrayList 인스턴스의 용량을 목록의 현재 크기로 자르는 데 사용됩니다. |