일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 청년희망적금
- Eclipse
- 자바스크립트
- if문
- 배열함수
- apachetomcat
- 자바배열
- 공부
- 이클립스
- StringBuffer
- 자바기초
- 자바강의노트
- equals()
- 자바
- MySQL
- 자바공부
- 저축장려금
- 신한은행청년희망적금
- mysql오류
- 개발공부
- Java
- 청년희망적금미리보기
- 자바문자열연결
- ToString()
- 자바스크립트배열
- insert
- 이클립스설치
- 2022청년희망적금
- 청년적금
- 참조변수
- Today
- Total
eterno
JAVA 18일차.HashMap, 정렬, 예외처리 본문
알고리즘과 자료구조를 비교하기
알고리즘(algorithm)
: 데이터를 어떤 절차를 걸쳐 수행하는지 나열 하는 것( = 프로세싱하는 것)을 의미한다.
- 문제풀이에 필요한 계산절차 또는 처리과정의 순서(프로그램명령어의 집합)
* 순서도 - 알고리즘의 구현 단계
: 문제 정의 → 모델 고안 → 명세 작성 → 설계 → 검증 → 분석 (복잡도 등) → 구현 → 테스트 → 문서화
자료구조(data structure)
: 데이터 값의 모임, 데이터 간의 관계, 데이터에 적용할 수 있는 함수나 명령을 의미한다.
- 자료구조는 프로그램 실행 중 메모리에 자료를 유지/관리 하기위해 사용한다.
- 자료구조의 기본은 배열이다.
* Array : 배열 / Arrays : 객체배열
Hash Map
: hash방식으로 자료를 관리하는 자료구조
- java.util.* 클래스에 있는 클래스로 컬랙션 프레임워크에 해당된다.
- 해시 테이블 : 해시 방식으로 자료를 저장하는 공간
→ 데이터의 순서와 위치가 정해져 있지 않다.(키와 값으로 정해짐) - 해시함수 : key값이 정해지면 해시 테이블의 위치가 정해지는데 이런 위치를 계산하는 함수
ex) index = hash(key) - HashMap은 key-value 쌍으로 이루어진 자료를 관리하는데 사용
- HashMap의 key값은 중복 될 수 없다.
만약 중복 값이 발생한다면 마지막에 쓴 key값으로 출력 된다..(=스택구조라고 한다.) - 순서가 없기때문에 Iterator , keyset()과 entrySet() 을 사용한다.
- Iterator : 데이터를 통에 다 담아서 커서가 돌면서 데이터 있으면 true 없으면 false 출력 (순서가 없다)
⇒ while문이랑 같이 씀 - keySet() : key값만 반환할때
public Set<K> keySet() - entrySet() : key값과 value값을 반환할때
public Set<Map.Entry<K,V>> entrySet()
- Iterator : 데이터를 통에 다 담아서 커서가 돌면서 데이터 있으면 true 없으면 false 출력 (순서가 없다)
- <>(제너릭)을 사용해 자료형을 한정 시킬 수 있다. (ArrayList와는 다르게 쓰인다.)
예제)
예제) 기억해두기
정렬(Sort)
- ArrayList
: 객체 순서를 기반으로 순차적으로 자료를 관리하는 프로그램을 구현할 때 사용
예제)
예제)
예외처리(Exceptions)
: 프로그램이 정상적으로 수행될 수 있게 예외를 사전에 정의하는 것
(프로그램에 문제가 생겼을 때 이 프로그램을 죽일지 살릴지 정하는 것)
- PID(Program ID) : 프로그램마다 고유 번호가 있다.
* Exceptions : 예외클래스의 최상위 클래스(모든 예외처리는 Exception에 포함되어있다)
Checked Exception : 무조건!!
- 컴파일 할 때 반드시 예외처리를 해야한다.
- 예외 발생시 롤백을 하지 않는다.
- IOException
- ClassNotFoundException etc.
UnChecked Exception : 해도 되고 안해도 된다
- 실행할 때 예외처리를 명시적으로 하지 않아도 된다.
- 예외 발생시 롤백을 해야 한다.
- NullPointerException : 자주 발생하는 오류니까 기억해두기
- ClassCastException etc.
- RuntimeException를 상위클래스로 갖는 것
try - catch - finally
: 예외가 발생해도 프로그램은 정상적으로 수행된다.
기본문장
try {
예외 발생이 예상되는 구문 작성하는 블럭
} catch(예외 클래스 참조변수 e){
예외를 처리하는 블럭 : 예외 클래스 계층 구조상 하위에 있는 예외 클래스 기술
} finally {
예외 발생과 관련없이 실행되는 블럭
}
* 자식클래스부터 사용
예제)
finally { }은 꼭 안써도 됨(필요시 사용)
예제)
- Date() : 현재 날짜구하는 함수
예제)
예제)
throw : 예외를 다른 곳에 던지는 것(미루는 것)
- throw 에 의해 생성된 예외상황은 반드시 try-catch 문에 의해 처리되거나 throws에 의해서 넘겨져야 한다.
- 예외를 처리할 때는 throw를 제일 먼저 쓰고 맨 마지막에 처리하는 애(보통 main) 한테 try - catch 를 넣어주면 됨
예제) TestException_3이랑 비교해보기
'JAVA > 강의노트' 카테고리의 다른 글
JAVA 20일차. String클래스, Math 클래스(난수구하기), UUID (4) | 2022.09.16 |
---|---|
JAVA 19일차. 예외처리, 호출, String 클래스의 메소드(indexOf, substring, split, replace, contains) (4) | 2022.09.14 |
JAVA 17일차. 자료구조와 Array List (4) | 2022.08.25 |
JAVA 16일차. 추상클래스, this(), 정보은닉 (9) | 2022.08.24 |
JAVA 15일차. 상속과 인터페이스 (11) | 2022.08.22 |