Java에서 ArrayList 사용

ArrayListList 인터페이스를 구현하는 동적 배열입니다. 이 인터페이스의 사용자는 삽입 된 요소를 완전히 제어 할 수 있으며 위치별로 액세스하고 목록에서 요소를 검색합니다 .

ArrayList List의 모든 메소드를 구현하며, 그 외에도 클래스에는 목록을 저장하는 데 사용되는 배열의 크기를 조작하는 것과 같은 자체 메소드가 있습니다. 이 클래스는  와 동일합니다. Vector.
Arraylist는 데이터를 저장하는 배열을 사용하며, 이 배열에는 요소가 삽입될 때마다 자동으로 조정되는 기능이 있습니다. size.

여러 스레드에서 동시에 목록에 액세스할 수 있도록 많은 수의 항목을 추가하기 전에 ArrayList의 용량을 늘리는 ensureCapacity 메서드가 있습니다. 이것은 다른 스레드가 목록의 크기를 액세스하고 업데이트하기 때문에 수정, 삽입, 삭제와 관련하여 문제가 발생할 수 있습니다. 해결책은 Collections.synchronizedList.

목록 목록 = Collections.synchronizedList(new ArrayList(...));

반복자 또는 listIterator 클래스로 목록을 탐색하지만 목록이 수정된 경우: 삭제, 삽입... 반복자를 만든 후 후자는 예외를 throw합니다 ConcurrentModificationException입니다. 해결책은 반복자가 생성 된 후 및 읽기 중에 다른 스레드가 액세스하지 못하도록하는 상호 제외를 만드는 것입니다.

Constructors

ArrayList 에는 세 개의 생성자가 있습니다.

- ArrayList(): 초기 크기가 10.- ArrayList(Collection c): 데이터 컬렉션에서 목록을 만들고 컬렉션이 null인 경우 예외를 throw합니다NullPointerException- ArrayList(int capacite): 초기 크기를 설정하여 목록을 만들고 크기가 음수이면 IllegalArgumentException을 발생시킵니다.

Methods

1) add(Object o): end.list.add("Hello");

2) add(int indice, Object o): 중간에 삽입 .
list.add(3, "e");
세 번째 위치에 문자열 String을 삽입합니다.

3) addAll(Collection c): 컬렉션 추가 .
ArrayList l1 = 새로운 ArrayList();
l1.add("단어");
l1.add(12);
l1.add(10.4f)입니다.
list.addAll(l1);
이 메서드는 다른 목록을 추가합니다 l1 목록 끝에 list.

4) addAll(int index, Collection c): 중간에 컬렉션을 추가합니다.
list.addAll(3, l1);
위치 3에 l1 목록을 삽입하십시오. 인덱스가 3보다 큰 다른 요소는 오프셋됩니다.

5) clear(): 모든 요소를 삭제합니다.

6) contains(Object o): 요소 Membership.
boolean b = list.contains(o)
o 객체가 목록에 속하는 경우 b 값은 참입니다.

8) ensureCapacity(int capacite): 용량을 늘리고 최소 용량으로 여러 요소를 보유할 수 있도록 합니다.
list.ensureCapacity(10)입니다.
이렇게 하면 10개의 요소로 용량이 증가합니다.

9) get(int index): 객체를 한 위치로 되돌립니다.
system.out.println(list.get(2));
이 함수는 목록에 저장된 두 번째 개체를 표시합니다.

10) indexOf(Object o): 요소의 인덱스를 반환합니다.
int k = indexOf("o4");
정수 변수 k는 개체 o4의 첫 번째 발생에 대한 인덱스를 받습니다. 우리는 첫 번째 것만 잘 말했습니다  occurrence.

11) isEmpty(): 목록이 비어 있으면 true를 반환합니다.
부울 b = list.isEmpty();
목록이 비어 있으면 b는 true입니다.

12) remove(Object o): o.
부울 b = list.remove("o4");
개체가 존재하고 성공적으로 삭제된 경우 true를 반환합니다.

13) removeAll(컬렉션 c): arguments.
AarrayList입니다< 문자열> lc = 새로운 ArrayList< 문자열> ();
lc 입니다. 추가("O1");
lc 입니다. 추가("O2");
lc 입니다. 추가("O3");
list.removeAll(lc);
요소를 찾아 삭제합니다.

14) removeRange( int start, int end): 아래 첨자의 시작과 끝 사이에 있는 요소를 제거합니다.
list.removeRange(3,8);
이 절차에서는 3과 8.

15) retainsAll(컬렉션 c): 컬렉션에 있는 요소만 유지합니다. c.

16) set(int index, Object o): 객체를 특정 위치로 수정합니다.
list.set(3, "o5");
위치 3의 개체가 o5.

17)로 대체되었습니다. size(): 요소의 수를 반환합니다.

18) subList(int start, int end): 시작과 끝 사이의 조각을 반환합니다.

19) toArray(): 1차원의 배열을 반환합니다.
문자열[] t = list.toArray();
t 배열에는 목록의 모든 객체가 포함됩니다. 이 방법은 배열만 허용하는 함수가 있을 때 유용합니다(예: .

20) trimToSize(): 저장 용량을 최대 수준으로 줄입니다.

ArrayList를 찾아보는 방법

두 가지 방법으로 ArrayList를 찾아볼 수 있습니다.

1) 루프 for

for(int i = 0; i < list.size(); i++)
    system.out.println (list.get (i));
또는 예를 들어 유형을 알고 있는 경우:
for(정수: 목록)
    system.out.println (숫자);

2) 반복자  + while < / span >< / h4>
이터레이터 itr = list.iterator();
while(itr.hasNext())
      system.out.println (itr.next());

Example

import java.util.ArrayList; 

public class Test {

public static void main(String[] args) {

//초기 용량이 4 ArrayList str = new ArrayList(4);

//추가
str.add("o1");
str.add("o2");
str.add("o3");
str.add("o4");

//우리가 본 몇 가지 메서드
System.out.println("index of "+"o2: "+str.indexOf("o2"));
System.out.println("o3가 존재합니까?" +str.contains("o3"));
System.out.println("o2가 성공적으로 제거되었습니다: "+str.remove("o2"));
System.out.println("크기: "+str.size());
System.out.println("[1, 3] : "+str.subList(1, 3));

//parcours
for(String s : str)
System.out.println(s);

str.clear();
System.out.println("목록이 비어 있습니까?" +str.isEmpty());

}
}
References:
javadoc: ArrayList