JAVA-Collection-Example
EX) 시나리오
은행은 계좌를 관리한다.
은행은 계좌를 등록한다.
은행은 계좌번호로 계좌를 찾을 수 있다.
은행은 계좌의 소유자명으로 계좌를 찾을 수 있다.
은행은 모든 계좌의 목록을 볼 수 있다.
계좌는 소유자명, 계좌번호, 잔고로 구성된다.
계좌는 입금,출금 기능과 잔고확인 기능이 있다.
계좌에서 잔액의 변화가 있을 때마다 입출금 명세에 기록된다.
입출금 명세는 거래일자, 거래시간, 입금/출금, 금액, 잔액으로 구성된다.
class Bank {
private Map<Integer, Account> accounts;
private int totalAccount;
int index = -1;
...
JAVA-Collection-Map
[Map]
Map 인터페이스 구현한 클래스
Map > (키, 값) 쌍구조 배열
ex) 지역번호: 02, 서울
key: 중복(x)
value: 중복(o)
Generic 지원
HashTable(구버전): 동기화 보장
HashMap(신버전) : 동기화 강제 하지 않음 (필요하면 사용 가능) 성능 고려…
public static void main(String[] args) {
HashMap map = new HashMap();
map.put("Tiger", "1004");
map.put("scott", "1004");
map.put("superman", "1007");
//Collection 자료구조...
JAVA-Collection-Set
[Set]
Set 인터페이스 구현하는 클래스
Set 순서(x), 중복(x) 이런 데이터 집합을 다룰 때
HashSet, TreeSet
순서 (넣은 순서를 보장하지 않음)
public static void main(String[] args) {
HashSet<Integer> hs = new HashSet<>();
hs.add(1);
hs.add(100);
hs.add(55);
System.out.println(hs.toString());
//중복 데이터 처리(POINT)
boolean bo = hs.add(1);
System.out.println(bo);
System.out....
JAVA-Collection-Iterater
[Iterater]
나열된 자원에 대해 순차적으로 접근해서 값을 리턴하는 표준 정의
hasNext(), Next() => 자원을 ArrayList 구현하고 있다
Iterator: 순방향 데이터 read하는 표준
ListIterator: 양방향 데이터 read하는 표준 (순방향으로 읽은 후, 역방향으로 읽음)
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(100);
list.add(200);
list.add(300);
for(int i = 0; i < list.size(); i++) ...
JAVA-Collection-Generic
[Generic]
JDK1.5 부터 지원
C#, Java 필수기능
사용목적
1.Object 타입 저항 -> Object 타입 탈피
2.타입 안정성 (타입 강제성)
3.형변환 (casting) 문제 해결: (Car)obj;
Generic 클래스 설계 » 타입을 강제해서 객체를 생성할 수 있다
MyGen<String> m = new MyGen<String>();
class MyGen<T> { //Type Parameter
T obj;
void add(T obj) {
this.obj = obj;
}
T get() {
return this.obj;
}
}
/*
[h...
JAVA-Collection-Stack
[stack]
public static void main(String[] args) {
//LIFO(Last in First Out)
//Collection Framework 제공하는 Stack
/////////////////////////////////////
//JAVA API 제공하는 Stack 클래스
Stack stack = new Stack();
stack.push("A");
stack.push("B");
Mystack my = new Mystack(3);
System.out.println(my.isEmpty());
my.push("A");
my.push("B");
System.out.println(...
JAVA-Collection-ArrayList
ArrayList
public static void main(String[] args) {
ArrayList arraylist = new ArrayList();
//Tip: capacity() 함수는 Vector에는 존재하지만, ArrayList에는 존재하지 않는다.
//대신 ArrayList에서 capacity처럼 초기값을 정해줄 수 있다.
//ArrayList arraylist2 = new ArrayList(10);
arraylist.add(100);
arraylist.add(200);
arraylist.add(300);
System.out.println(arraylist.toString());
for(in...
JAVA-Collection-Vector
Collection FrameWork
[다수의 데이터를 다루는 표준화된 인터페이스를 구현하고 있는 클래스의 집합]
Collection 인터페이스 -> List (상속) -> 구현 (ArrayList …) -> Set (상속) -> 구현 (HashSet, TreeSet …)
Map 인터페이스 -> 구현 (HashMap …)
[Array VS List]
[Array(배열)]
방의 개수가 고정 (한번 방의 크기를 고정하면 변경불가)
1. 배열의 크기 고정: Car[] cars = {new Car(), new Car()}; 방 2개 고정
2. 배열의 접근: index(첨자) 접근 » ...
전체 글 47개, 6 페이지