Vector
ArrayList와 Vector의 차이점은 동기화 여부이다.
Vector는 동기화 메소드로 구성되어 있어 멀티 스레드가 동시에 Vector의 메소드들을 실행할 수 없고, 하나의 스레드가 메소드 실행을 완료 해야만 다른 스레드가 메소드를 실행할 수 있음.
Vector는 멀티 스레드 환경에서 안전하게 객체를 추가, 삭제할 수 있다
LinkedList
LinkedList는 List 구현 클래스이므로 ArrayList와 사용 방법은 동일하나 데이터를 보관하는 내부 구조가 다르다. ArrayList는 내부 배열에 객체를 저장해서 관리하고 (한줄서기) LinkedList는 인접 참조를 링크해서 체인처럼 관리함. (번호표)
객체 삭제와 삽입이 일어나는 곳에서는 ArrayList 보다 LinkedList가 더 좋은 성능을 발휘함
import java.util.LinkedList;
import java.util.List;
public class LinkedListEx {
public static void main(String[] args) {
List<String> list = new LinkedList<>();
list.add("java");
list.add("JDBC");
list.add("Servlet/JSP");
list.add(2,"Database");
list.add("iBatis");
int size = list.size();
System.out.println(size);
System.out.println();
String skill = list.get(2);
System.out.println(skill);
System.out.println();
for (int i = 0 ; i < list.size(); i++){
String str = list.get(i);
System.out.print(i + " : " + str + ", ");
}
System.out.println();
list.remove(2);
list.remove(2);
list.remove("iBatis");
for (String value : list){
System.out.print(value + ", ");
}
}
}

'코딩딩 > Java' 카테고리의 다른 글
자바 기초 (0) | 2023.08.09 |
---|---|
Set 컬렉션 (0) | 2023.07.15 |
Getter and Setter 메소드 (0) | 2023.07.14 |
인텔리제이 vim 에디터 사용시 클립보드 복사하는법 (0) | 2023.07.14 |
Singleton (0) | 2023.07.14 |