수업교재 11] 제네릭과 켈렉션
++ 혼자공] 13강 프레임워크
1) 배열보다 훨씬 중요하고 많이 쓰
2) ⭐⭐⭐⭐⭐컬렉션 프레임웍((무조건 암기!! 면접에 나옴))
인터페이스 | |
List ⭐⭐⭐⭐⭐ |
순서가 있는 데이터의 집합, 데이터의 중복을 허가함 ex) 대기자 명단 |
구현클래스: Arraylist(많이 쓰임), LinkedList, Stack, Vector 등 | |
Set | 순서를 유지하지 않는 데이터의 집합, 데이터의 집합을 허용하지 않음 ex) 양의 정수집합, 소수의 집합 |
구현클래스: HashSet, TreeSet 등 | |
Map ⭐⭐⭐⭐⭐ |
키(key)와 값(value)의 쌍(pair)으로 이루어진 데이터의 집합 순서를 유지하지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용함 ex) 우편번호, 지역번호(전화번호) |
구현클래스: HashMap(주요 메소드), Properties 많이 쓰임, key와 value의 쌍으로 이루어진 데이터의 집합이다 |
컬렉션 List 인터페이스
- Stack: push으로 넣고 pop으로 꺼내기, List계열, Last-in-First-out의 구조(마술사모자)
- Vector: 동기화가 스레드에 의해 자동구현,but 직접 구현해야함?
- ArrayList
- HashSet: 순서 유지x, 중복 허용x
6) Map의 인터페이스:
반환형 | 매소드명 | 설명 |
void | clear() | 모든 매핑을 맵으로부터 삭제한다 |
V | get(Object key) | 인자로 전달된 key 객체와 매핑되고 있는 Value를 반환한다 |
boolean | isEmpty() | 현재 맵이 비어있다면 true를 반환한다 |
Set <K> | keySet() | 맵에 저장되고 있는 Key들을 Set 인터페이스로 반환한다 |
V | put(K key, V value) | 인자로 전달된 Key와 Value를 현재 맵에 저장한다 |
remove(Object key) | 인자로 전달된 Key에 대한 것이 있다면 현재 맵에서 삭제하고 매핑된 Value를 반환한다. 전달된 Key에 대한 정보가 없다면 null을 반환한다 | |
int | size() | 맵에 저장된 Key와 Value로 매핑된 수를 반환한다 |
Collection <V> | values() | 현재 맵에 저장된 Value들만 Collection 인터페이스로 반환한다 |
- Hashtable와 HasMap의 차이:
수업교재 12] 스레드
1)프로세스와 스레드
- 프로그램: 실행 가능한 파일(HDD), exe파일
- 프로세스: 프로그램이 메모리를 할당받아서 실행되거나 실행 대기중인 상태, 실행 중인 프로그램(메모리)
- 프로세서: CPU
- 스레드: 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 최소 단위
- run:
- terminated
- scheduler
오늘의 코딩
기억해야 하는 단축어:
코딩수업 순서
ch11_ex01>> List
- VertorEx02
ch11_ex02>> Set
- HashSetEx01
- HashSetEx02
- TreeSetEx02
- TreeSetEx01
ch11_ex03>>> Map
- HashMapEx01
- HashMapEx02
- HashTableEx01
- PropertiesEx01>>이거랑 아래가 프로젝트 할 때 매우 유용
- database.properties(java파일이 아닌 그냥 File)
: '='기준으로 왼쪽이 key, 오른쪽이 value/ JSP에서 또 나옴!!
ch12_ex01
- ThreadEx01
- ThreadEx02
- ThreadEx03
- ThreadEx04_Hw02
- ThreadEx05
- ThreadEx06
ch12_ex02
- RunnableEx01
- MultiInher
- RunnableEx02
오늘의 과제
ch11_ex01
- ArrListHw01
package ch11_ex01;
import java.util.ArrayList;
import java.util.List;
public class ArrListHw01 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("Java");
list.add("JDBC");
list.add("Servlet/JSP");
list.add(2, "Database");
list.add("iBATIS");
int size = list.size();
System.out.println("총 객체수: " + size);
System.out.println("List : " +list);
//2번째 Index 가져와 출력
String skill = list.get(2);
System.out.println("2: " + skill);
System.out.println();
// Database, Servlet/JSP, iBATIS 삭제
// for문이용 남은 원소 조회
}
}
//결과값
총 객체수: 5
List : [Java, JDBC, Database, Servlet/JSP, iBATIS]
2: Database
0:Java
1:JDBC
ch11_ex03
- HashMapExHw01
package ch11_ex03;
import java.util.HashMap;
import java.util.Map;
public class HashMapExHw01 {
public static void main(String[] args) {
//Map 컬렉션 생성
Map<String,Integer> map = new HashMap<String, Integer>();
//객체 저장
}
}
//결과값
총 Entry 수: 3
전체원소 : {신용균=80, 홍길동=95, 신용권=85}
신용균 : 80
--- 객체를 하나씩 처리 iterator, keySet ---
신용균 : 80
홍길동 : 95
신용권 : 85
ch12_ex01
- ThreadEx04_Hw02
public class ThreadEx04_Hw02 {
public static void main(String[] args) {
// Hw02
// 20번씩 수행
// Th3 -> 10 / 1000 쉼
// Th3 -> 20 / 1000 쉼
Th3 t1 = new Th3("Th3...");
Th4 t2 = new Th4("Th4...");
t1.start();
t2.start();
}
}
//--- 결과 ------
//h3...대박1
//Th4...월요일1
//Th3...대박2
//Th4...월요일2
//Th3...대박3
//Th4...월요일3
//Th3...대박4
//Th3...대박5
//Th4...월요일4
//Th3...대박6
//Th4...월요일5
//Th4...월요일6
//Th3...대박7
//Th4...월요일7
//Th3...대박8
//Th3...대박9
//Th4...월요일8
//Th3...대박10
//Th4...월요일9
//Th3...대박11
//Th4...월요일10
//Th3...대박12
//Th4...월요일11
//Th4...월요일12
//Th3...대박13
//Th4...월요일13
//Th3...대박14
//Th3...대박15
//Th4...월요일14
//Th3...대박16
//Th4...월요일15
//Th3...대박17
//Th4...월요일16
//Th3...대박18
//Th4...월요일17
//Th4...월요일18
//Th3...대박19
//Th4...월요일19
//Th3...대박20
//Th4...월요일20
'Java' 카테고리의 다른 글
2024_06_10_월 (0) | 2024.06.10 |
---|---|
2024_06_04_화 (0) | 2024.06.04 |
2024_06_03_월 (0) | 2024.06.03 |
2024_05_31_금 (0) | 2024.05.31 |
2024_05_30_목 (0) | 2024.05.30 |