Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 접근제어지시자
- 상수
- 집합관계
- 시스템 환경 변수 편집
- 형 변환
- for문
- 메서드
- this예약어
- Thread
- 반복문
- IntelliJ IDEA
- function
- 컴파일
- 인텔리제이 기초 설정
- multi-threading
- While
- continue문
- 인텔리제이 한글 깨짐 해결법
- Java
- Java데이터 타입
- 메서드 오버로딩
- 연관관계
- 자바 멀티스레딩
- 생성자
- OPP개념
- break문
- JAVA기초
- JAVA객체지향
- 포함관계
- java변수
Archives
- Today
- Total
최원종의 개발 블로그
Vector - 컬렉션 본문
ArrayList vs Vector
| ArrayList | Vector | |
| 사용법 | 동일 | 동일 |
| 멀티스레드 안전 | 안전하지 않음 | 안전함 |
| 속도 | 빠름 | 동기화로 약간 느림 |
| 사용 상황 | 단일 스레드 | 멀티스레드 (소켓 서버 등) |
단일 스레드 일반 프로그램 → ArrayList
멀티스레드 소켓 서버 등 → Vector
-실습 코드
package server;
import java.util.Vector;
public class ChatRoomSimulator {
//공유 자원
private static Vector<String> userList = new Vector<>();
public static void main(String[] args) throws InterruptedException {
//ArrayList 와 상용법 동일
Vector<String> list = new Vector<>();
// list.add("철수");
// list.add("영희");
// list.remove("영희");
// list.get(0);
// list.size();
// list.contains("영희");
//
// for(String name : list){
// System.out.println(name);
// }
System.out.println("=== 채팅방 접속자 시뮬레이션 ===");
//3명이 동시에 접속
//람다 표현식이다
//Thread t1 = new Thread(() -> {});
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
userList.add("철수");
System.out.println("[접속] 철수 | 현재 " + userList.size() + "명");
}
});
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
userList.add("영희");
System.out.println("[접속] 영희 | 현재 " + userList.size() + "명");
}
});
Thread t3 = new Thread(new Runnable() {
@Override
public void run() {
userList.add("민준");
System.out.println("[접속] 민준 | 현재 " + userList.size() + "명");
}
});
t1.start();
t2.start();
t3.start();
t1.join();
t2.join();
t3.join();
System.out.println("최종 접속자 : " + userList);
//영희 퇴장
userList.remove("영희");
System.out.println("영희 퇴장 후 : " + userList);
}//end of main
}
-출력 화면
'Java > JAVA 유용한 클래스' 카테고리의 다른 글
| Set 인터페이스 - 컬렉션 (0) | 2026.03.30 |
|---|---|
| List 인터페이스 - 컬렉션 (0) | 2026.03.30 |
| ArrayList - 컬렉션 (0) | 2026.03.30 |
| 컬렉션 프레임워크(Collections Framework) (0) | 2026.03.27 |
| (소켓 - 7) 소켓을 활용한 파일 전송 (1:1) (0) | 2026.03.27 |

