ArrayList(순서O,중복O): 객체 배열 클래스. 가볍고 메모리를 적게 사용함
Vector: ArrayList와 기능이 거의 비슷함.
------>ArrayList와의 차이점
- Vector는 스레드의 동기화를 지원해서 멀티스레드 환경에서 안전하게 사용할 수 있음
- 그러나 많은 자원을 소모해서 무겁다.
ArrayList, Vector
주요 메소드
add(E e): 배열의 마지막에 객체의 요소를 추가(요소는 Object타입)
get(int index): 인덱스 위치에 담긴 요소를 꺼내옴
size(): 배열의 개수 리턴
remove(int index): 해당 인덱스위치의 요소를 제거
ArrayList<String> al = new ArrayList<String>();
al.add("문자열1");
al.add("문자열2");
al.add("문자열3");
al.add("문자열3");
//
for(int i=0;i<al.size();i++){
String a = al.get(i);
System.out.print(a+" ");
}
Iterator<String> it = al.iterator();
while(it.hasNext()){
String s = it.next();
System.out.println(s+" ");
}
출력예시 : 문자열1 문자열2 문자열3 문자열3 문자열1 문자열2 문자열3 문자열3
->순서대로 출력되고 "문자열3"이 중복이지만 모두 출력된다.
ArrayList<Member> am = new ArrayList<Member>();
am.add(new Member("문자열1",1));
am.add(new Member("문자열2",2));
am.add(new Member("문자열3",3));
am.add(new Member("문자열4",4));
Iterator<Member> it = am.iterator();
while(it.hasNext()){
Member m = it.next();
m.print();
}
출력예시 : 문자열1 1 문자열2 2 문자열3 3 문자열4 4
Vector
Vector<String> v = new Vector<String>();
v.add("문자열1");
v.add("문자열2");
v.add("문자열3");
v.add("문자열4");
//for문으로도 출력 가능
Iterator<String> it = v.iterator();
while(it.hasNext()){
String s = it.next();
System.out.print(s+" ");
}
출력: 문자열1 문자열2 문자열3 문자열4