판봉 개발 일기

List 컬렉션중 하나인 Vector에 대하여 본문

자바 복습

List 컬렉션중 하나인 Vector에 대하여

판봉 2021. 7. 13. 15:29
728x90

Vector는 ArrayList와 동일한 내부 구조를 가지고 있지만 동기화된 메소드로 구성이 되어 있기때문에

멀티 스레드가 동시에 Vector의 메소드를 실행할 수 없다.

즉,하나의 스레드가 메소드를 실행을 완료해야만 다른 스레드가 메소드를 실행할 수 있다.

그래서 흔히들 "스레드에 안전하다"라고 말한다.

 

다음 글은 Vector를 생성하기 위한 방법을 설명한다.

List<E> list = new Vector<E>();
List<E> list = new Vecotr<>();

여기서 E란 타입 파라미터를 이야기하며, 두번째것은 왼쪽 List에 지정된 타입을 따라간다.

 


다음은 Vector를 이용해서 Board 객체를 추가, 삭제, 검색하는 예제이다.

import java.util.*;

public class VectorExample {
	public static void main(String[] args) {
    List<Board> list = new Vector<Board>();
    
    list.add(new Board("머리1", "가슴1", "배1));
    list.add(new Board("머리2", "가슴2", "배2));
    list.add(new Board("머리3", "가슴3", "배3));
    list.add(new Board("머리4", "가슴4", "배4));
    list.add(new Board("머리5", "가슴5", "배5));
    
    list.remove(2);
    list.remove(3);
    
    for(int i = 0; i<list.size(); i++) {
    Board board = list.get(i);
    System.out.println(board.subject+ "\t" + board.content + "\t" + board.writer);
    }
    }
}

public class Board {
	String head;
    String chest;
    String belly;
    
    public Board(String subject, String content, String writer) {
    this.head = head;
    this.chest = chest;
    this belly = belly;
    }
}
실행 결과

머리1		가슴1		배1
머리2		가슴2		배2
머리4		가슴4		배4

'자바 복습' 카테고리의 다른 글

Set 컬렉션에 대하여 알아보자  (0) 2021.07.13
List 컬렉션중 하나인 LinkedList에 대하여 알아보자  (0) 2021.07.13
ArrayList  (2) 2021.07.12
List 컬렉션  (0) 2021.07.12
컬렉션 프레임워크  (0) 2021.07.12