ArrayList 어레이리스트
ArrayList 는 배열과 마찬가지로 메모리가 인접해 있다. 사용법은 배열과 동일하다 단 여러가지 기능이 추가된 배열이다.
데이터 추가, 삭제를 하면 가장 마지막에 데이터가 추가, 삭제된다. 중간에 데이터를 추가하면 추가한공간만큼 데이터가 뒤로 밀리고 중간에 삭제하면 삭제된 공간만큼 데이터가 당겨진다. 배열은 생성시에 크기를 정해야하지만 ArrayList 는 크기를 정하지 않고 공간이 모두차면 자동으로 2배씩 공간이 증가한다. 배열인 만큼 데이터 검색은 빠르지만 중간의 데이터 추가, 삭제시에 부하가 많이 걸린다.
import java.util.*;
public class ExamArrayList {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(1); // list 에 1추가
list.add(3); // list 에 3추가
list.add(5); // list 에 5추가
System.out.print("list에 index 2 의 값 : ");
System.out.println(list.get(2)); //index 2 인 값 가져오기
System.out.print("list size : ");
System.out.println(list.size()); //list size 알아내기
System.out.println("list 비었는지 확인 : ");
boolean boo = list.isEmpty(); //list 비었는지 확인
System.out.println(boo);
System.out.print("list 에 3 값이 포함되어 있는지 확인 : ");
boo = list.contains(3); //list 에 3 값이 포함되어 있는지 확인
System.out.println(boo);
System.out.print("index 1 인 값 제거 : ");
list.remove(1); //index 1 인 값 제거
System.out.println(list.toString());
System.out.print("index 1에 4값 추가하기 : ");
list.add(1, 4); //index 1에 4값 추가하기
System.out.println(list.toString());
System.out.println("index 2 값을 6으로 대체 : ");
list.set(2, 6); //index 2 값을 6으로 대체
System.out.println(list.toString());
System.out.print("4값이 들어있는 index 값 반환 : ");
System.out.println(list.indexOf(4)); // 4값이 들어있는 index 값 반환
Iterator<Integer> iter = list.iterator(); // iterator 로 값을 순차접근
System.out.print("iterator 로 값을 가져오기");
while(iter.hasNext()) //다음 값이 존재하는지 확인
System.out.print(iter.next()); // 다음값 가져오기
System.out.println();
System.out.print("list 를 clear했는지 : ");
list.clear(); //list 비우기
boo = list.isEmpty();
System.out.println(boo);
}
}
출력
list에 index 2 의 값 : 5
list size : 3
list 비었는지 확인 :
false
list 에 3 값이 포함되어 있는지 확인 : true
index 1 인 값 제거 : [1, 5]
index 1에 4값 추가하기 : [1, 4, 5]
index 2 값을 6으로 대체 :
[1, 4, 6]
4값이 들어있는 index 값 반환 : 1
iterator 로 값을 가져오기146
list 를 clear했는지 :true
'SW > 자료구조' 카테고리의 다른 글
LinkedList 연결리스트 (0) | 2017.01.25 |
---|---|
Arrays 배열 (0) | 2017.01.23 |