본문 바로가기

Programming/Java

ArrayList

자바는 ArrayList 라는 클래스를 제공하는데 이 클래스를 사용하면 배열의 크기를 자동으로 변경하면서 사용할 수 있다.

 

형식

ArrayList<자료형> list = new ArrayList<>( );

 

ArrayList 기본 연산

ex)

ArrayList<String> list = new ArrayList<>( );

list.add("철수");

list.add("영희");

 

list.add(1, "길동");   // 1번째 요소에 "길동" 삽입 

list.set(2, "우치");    // 2번째 요소 위치의 원소를 "우치"로 대체

 

list.remove(1);     // 1번째 요소 삭제

 

list.size( )    // 리스트의 현재 크기를 반환

list.get(0)     // 0번째 리스트의 요소를 가져옴

 

ArrayList의 추가 연산

indexOf( )   // 특정한 데이터가 저장된 위치를 반환 (다만 ArrayList는 동일한 데이터도 여러 번 저장될 수 있으므로 맨 처음 데이터의 위치가 반환된다)

int index = list.indexOf("우치");

 

lastIndexOf( )   // 검색을 반대 방향으로 진행

int index = list.lastIndexOf("길동");

 

##ArrayList와 배열의 다른 점

-- 배열에서는 [ ]을 사용하여 요소에 접근하지만 ArrayList에서는 ( )를 사용하여 요소에 접근한다.

 

 

반복자 사용하기

ArrayList에 있는 원소에 접근하는 다른 방법으로 반복자(iterator)가 있다.

반복자는 특별한 타입의 객체로 컬렉션의 원소들에 접근하는 것이 목적이다. ArrayList 뿐만 아니라 다른 컬렉션에도 적용 가능하다.

반복자는 java.util 패키지에 정의되어 있는 Iterator 인터페이스를 구현하는 객체이다. 

다음의 3개의 메소드를 이용해서 컬렉션의 원소들을 하나씩 처리한다.

hasNext( )     // 아직 방문하지 않은 원소가 있으면  true반환

next( )       // 다음 원소를 반환

remove( )  // 최근에 반환된 원소를 삭제한다

 

ex) 

list.add("하나");  list.add("둘");  list.add("셋");  list.add("넷");

 

String s;

Iterator e = list.iterator( );

while(e.hasNext( ) ){

 s = (String) e.next();     // 반복자는 Object 타입을 반환

 System.out.println(s);

}

 

 

for-each 문 (확장 for 문)
 사용형식:

for (자료형 타입 저장할_변수: 배열변수) {
                     반복_수행할_문장  }

ex) 
for(double i : a) {
 sum += i ; }                  // 두개다 동일함


for(int i=0; i<a.length; i++) {
 sum += a[i] ; } 

'Programming > Java' 카테고리의 다른 글

Set  (0) 2020.02.29
Comparable과 Comparator  (0) 2020.02.06
Array.sort 와 Collections.sort  (0) 2020.02.05
Java 컬렉션(Collection)  (0) 2020.02.05
String 클래스  (0) 2020.01.30