본문 바로가기
Java

2024_06_05_수

by 알케니브 2024. 6. 5.

수업교재 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