다양한 제네릭
1. ArrayList<E> (배열 컬렉션)
- import java.util.ArrayList
- 가변 크기 배열 컬렉션
- 삽입(add), 검색(get), 삭제(remove)가 자유롭다. (기본 메소드)
삽입요소
- 객체, null
- 기본타입은 Wrapper 객체로 만들어 삽입 ->이제 JVM이 알아서 기본타입들 박싱해줌.
- 벡터와 달리 스레드 동기화 불가능
ex) ArrayList a = new ArrayList(7);
a.add("Hello") a.add("안녕") a.add(2,"삽입") a.get(1) a.remove(1)
a.size(); //요소 개수
a.capacticy 안됨.
2. Iterator<E> : Vector, ArrayList, LinkedList 제네릭이 상속받는 인터페이스. 컬렉션이 아니다!
- 리스트 구조의 컬렉션들에서 요소의 순차검색을 위한 메소드를 포함하는 인터페이스이다.
ex)
Vector v = new Vector();
Iterator it = v.iterator(); // 인터페이스 레퍼런스에 iterator메소드의 반환값을 연결
// iterator메소드는 Iterator객체를 반환한다.
// Iterator객체를 이용하여 인덱스 없이 컬렉션을 순차적으로 검색가능.
while(it.hasNext()) { // 모든 요소 방문. 요소가 있으면 true리턴
int n = it.next(); // 다음 요소 리턴
}
import java.util.*;
public class IteratorEx {
public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>(); // 정수 값만 다루는 제네릭 벡터 생성
v.add(5); // 5 삽입
v.add(4); // 4 삽입
v.add(-1); // -1 삽입
v.add(2, 100); // 4와 -1 사이에 정수 100 삽입
// Iterator를 이용한 모든 정수 출력하기
Iterator<Integer> it = v.iterator();
while(it.hasNext()) {
int n = it.next();
System.out.println(n);
}
// Iterator를 이용하여 모든 정수 더하기
int sum = 0;
it = v.iterator(); // Iterator 객체 얻기
while(it.hasNext()) {
int n = it.next();
sum += n;
}
System.out.println("벡터에 있는 정수 합 : " + sum);
}
}
}
>>>
5
4
100
-1
벡터에 있는 정수 합 : 108
'Programming > Java' 카테고리의 다른 글
7장. 컬렉션과 제네릭 #4 제네릭 만들어보기 (0) | 2020.06.17 |
---|---|
7장. 컬렉션과 제네릭 #3 HashMap 컬렉션, LinkedList 컬렉션 (0) | 2020.06.16 |
7장. 컬렉션과 제네릭 #1 개요, Vector 컬렉션 (0) | 2020.06.15 |
6장. 패키지와 활용 #2 주요 클래스 (0) | 2020.06.15 |
6장. 패키지와 활용 #1 패키지 (0) | 2020.06.14 |
댓글