본문 바로가기
프로그래밍 언어/Java 프로그래밍

컬렉션 프레임워크(4) List 인터페이스- Vector

by Hyeon_ 2021. 11. 30.

컬렉션 프레임워크(Collection Framework)

Vector(벡터)

  • ArrayList와 동일한 내부 구조
  • 스레드 동기화(synchronization) 되어 있기 때문에 복수의 스레드가 동시에 Vector에 접근해 객체를 추가, 삭제하더라도 스레드에 안전

Vector 예제

  • Vector를 이용해서 Board 객체 추가, 삭제, 검색
Board.java
package list;

public class Board {
    String subject;
    String content;
    String writer;

    public Board(String subject, String content, String writer) {
        this.subject = subject;
        this.content = content;
        this.writer = writer;
    }
}
VectorEx1.java
package list;

import java.util.List;
import java.util.Vector;

public class VectorEx1 {
    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);
        }

    }
}

this 레퍼런스

  • 클래스 내에서 객체 자신을 가리키는 레퍼런스
  • 컴파일러에 의해 자동 생성(사용자가 별도로 선언하지 않음)
  • 용도
    1. 전달받은 매개변수 갑승로 멤버 변수의 값 설정할 때 매개변수 이름과 멤버 변수명을 구별하기 위해 사용
    2. 객체 자신의 레퍼런스 반환하는 경우