ArrayList는 이름에서도 알 수 있듯이 데이터 형태를 배열(Array)로 하고 List로 구현하여 순서가 있고 중복을 허용합니다.
(ArrayList를 사용할 때 import java.util.*;을 임포트 하셔야 합니다.)

 

ArrayList 기본 예제

 

ArrayList list1 = new ArrayList();

ArrayList도 클래스여서 다른 클래스와 동일한 인스턴스화를 해야 합니다.(생성자에 값을 넣지 않으면 ArrayList 크기는 10으로 지정됩니다. 만약 크기가 넘어버리면 ArrayList가 자동으로 데이터 크기를 키워줍니다.)

 

list1.add("과자");

ArrayList 클래스 내에 메서드중 add메서드입니다. add메서드는 ArrayList에 지정값을 저장합니다.(인자값이 Object타입이여서 아무값을 넣어도 됩니다.)

list1.size();

size메서드는 ArrayList에 크기를 정수로 반환합니다.

list1.get(i);

get메서드는 정수를 인자값으로 받아서 ArrayList에 저장된 위치를 반환합니다.

 

 

ArrayList 결과

 

ArrayList는 list으로 만들어서 list에 속성을 갖는다.
순서가 있고 중복을 포함한다.(ArrayList결과에서도 볼수있다.)


ArrayList 예제 2

 

Collections.sort(list1);

Collections에 있는 메서드를 사용하여 정렬을 했다.(Collection은 인터페이스다.)

print(list1);

list1객체에 타입이 정해지지않아서 println을 사용할수없다.(컬렉션에 객체를 지정하지않아서 다른 클래스로 변경할때 케스팅을 해야하는 번거로움이있다.)

System.out.println(list1.size());

ArrayList에 저장된 데이터값을 출력한다.

ArrayList 예제 2 결과


iterator란 모든 컬렉션클래스에 데이터를 읽을때 사용됩니다.
만약 이렇게 표준화가 안된다면 
모든 컬렉션클래스에 데이터를 읽는 메서드를 일일이 알아야하고 
각각에 컬렉션에 접근이 힘들어집니다.


Iterator 사용법

Iterator타입에 변수를 생성하고 컬렉션마다에 iterator메서드를 값으로 넣습니다.
List타입에 변수를 Iterator으로 변환합니다.

 

while반복문으로 데이터가 있을때 까지 반복합니다.

hasNext메서드는 Iterator에 메서드입니다.
it1변수에 다음데이터가 있을 때 까지 실행합니다.

다음데이터를 출력합니다.

next메서드는 다음데이터를 반환합니다.
while문에 조건을 hasNext메서드로 검사한뒤 next메서드로 데이터을 반환하는것이 안전합니다.

iterator로 간단히 list데이터들을 출력한다.

 

Iterator에 메서드들은 총3가지있습니다.(Object클래스 제외)

 

iterator에 메서드들은 총3가지있다.

 

hasNext메서드는 다음데이터가 있는지 boolean(true/false)으로 반환합니다.
next메서드는 다음요소를 나타냅니다.
remove메서드는 next메서드가 호출한 데이터를 삭제합니다.

만약 remove먼저 호출하면 에러가 나타난다.

iteator에 메서드 호출순서
1.hasNext->2.next->3.remove

 

 

'📌 java > Object-oriented Programming' 카테고리의 다른 글

Homework_14  (0) 2020.06.17
Homework_13  (0) 2020.06.09
Homework_12  (0) 2020.06.02
Homework_11  (0) 2020.05.30
Homework_10  (0) 2020.05.19
복사했습니다!