반응형
package collection_fram;
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;
}
}
package collection_fram;
import java.util.*;
public class Vector_example {
public static void main(String[] args) {
// ArrayList랑 비슷하지만 Vector는 동기화된 메소드로 구성되어
// 멀티 스레드가 동시에 이 메소드를 실행할 수 없다
List<Board> list = new Vector<Board>();
list.add(new Board("제목1","내용1","글쓴이1"));
list.add(new Board("제목2","내용2","글쓴이2"));
list.add(0,new Board("제목3","내용3","글쓴이3"));
list.remove(1); // 1번 인덱스 제거
System.out.println(list.size());
Board board = list.get(0);
System.out.println(list.get(0)); // collection_fram.Board@4361bd48
System.out.println(board.subject); // 제목1
System.out.println(board.content); // 내용1
System.out.println(board.writer); // 글쓴이1
System.out.println(list.get(1).subject);
Scanner Scanf = new Scanner(System.in);
for (int i = 0 ; i < 3; i++) {
String title = Scanf.nextLine();
String inner = Scanf.nextLine();
String author =Scanf.nextLine();
Board temp = new Board(title,inner,author);
list.add(temp);
}
}
}
Vector는 배열과 유사하고 ArrayList와도 유사합니다.
둘다 최적의 스토리지 사용을 유지하기 위해 동적으로 증가 및 축소 되지만 크기 조정 방식은 다릅니다.
ArrayList는 요소 수가 용량을 초과하면 현재 배열 크기의 50 %를 증가시키는 반면
벡터는 100 % 증가하여 본질적으로 현재 배열 크기를 두 배로 늘립니다.
또한 Vector는 동기화되어서 멀티스레드가 동시에 실행하지 않아 ArrayList에 비해 느립니다.
List<자료형> 객체명 = new Vector<자료형>();
List<Board> list = new Vector<Board>();
list. add("내용"); 으로 추가 시킬 수 있습니다. 또한
list.add(인덱스,"내용")으로 해당 인덱스에 추가시킬 수 있습니다.
list.get(인덱스)로 해당 인덱스의 값을 반환 받을 수 있습니다.
list.size()로 해당 ArrayList의 사이즈를 알 수 있습니다.
list.remove(인덱스)로 해당 인덱스 값을 삭제 할 수 있습니다.
또한 Board라는 클래스를 이용한 객체를 자료형에 선언도 가능합니다.
이럴경우 get으로 접근 할때 board.subject로 접근하던가 아니면 값을 return해주는 getter있으면 됩니다.
값을 입력받아 넣을 때는 각각에 해당되는 생성자의 매개변수를 미리 입력받아 넣고 그걸 생성자로 선언해
add를 통해 차곡차곡 쌓으면 됩니다.
반응형
'[Java] > [Java]' 카테고리의 다른 글
[Java] 자바 컬렉션프레임워크 HashSet (0) | 2021.07.06 |
---|---|
[Java] 자바 컬렉션프레임워크 LinkedList (0) | 2021.07.06 |
[Java] 자바 컬렉션프레임워크 ArrayList (0) | 2021.07.06 |
[Java] 자바 날짜 메소드 (0) | 2021.07.03 |
[Java] 자바 Math 메소드 (0) | 2021.07.03 |