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 | 31 |
Tags
- 국취제
- 인코딩
- 페이징
- github
- 내일배움카드
- 배열
- 비밀번호변경
- 회원정보수정
- emmet환경설정
- 권한변경
- redirect
- 입력메소드
- 검색기능
- Git
- 정처기
- live server 환경설정
- 로그아웃
- 회원탈퇴
- jdbc설정
- 국민취업지원제도
- 관리자회원조회
- mvc
- 비밀번호암호화
- 페이지 재사용
- jdbc환경설정
- forward
- 내배카
- jsp기본
- 국비학원
- 별찍기
Archives
- Today
- Total
기록
*25일차 본문
@Map
*정의
- 키(key)와 값(value)으로 구성
- 키,값 모두 객체이다.
- key : 중복 저장 X → set 방식
- value : 중복 저장 O → list 방식
- key가 중복되는 경우에 기존에 있는 key에 해당 값을 덮어쓴다. (set과 다른점)
- 구현 클래스 : HashMap(사용)/Table , LinekedHashMap(사용) , Properties(사용) , Treemap(사용)
- 저장된 순서는 신경 쓰지 않는다.
@Properties
*정의
- key와 value를 String 타입으로 제한한 Map 컬렉션.
- *.properties파일을 읽어 들일 때 사용
- 설정값 처리할 때 좋음
*properties 파일
- 옵션정보, db연결정보,다국어정보를 기록해 txt파일 활용
- app에서 주로 변경이 잦은 문자열을 저장하여 관리하기 때문에 유지보수가 편리하다.
- key와 value가 '='로 연결되어 있는 txt파일
@XML
*정의
- 사용자 정의 태그 문서
- eXtensible Markup Language
@Generics
*정의
- 컬렉션 클래스를 이용해 객체를 저장할 때 저장할 객체(클래스타입)을 제한하는 기능
- 한가지 종류의 클래스만 저장할 수 있게 해 놓은 기능
*왜 사용하는가?
- 컴파일에서 잘못된 타입을 사용할 수 있는 가능성을 제거함
- 컬렉션에 저장된 여러 종류의 객체를 꺼내서 사용할 때 객체의 종류에 따라 매번 형변환하는 복잡한 코드 제거
- 컬렉션,람다식(함수적 인터페이스),스트림,NIO에서 널리 사용
*장점
- 컴파일시 강한 타입 체크 가능하다. (실행시 에러 방지)
- Object타입의 요소를 지정타입으로 형변환 할 필요가 없다.
@HashMapStudy
#map 사용(구조)
- map 선언하기
- 요소 추가하기(put) : put은 object를 반환한다. (3번 내용)
- 기존 요소가 있다면 삭제된 요소를 반환
- 요소 가져오기(get)
- 요소 삭제하기(remove)
- 요소 전체 개수 출력
- toString override
#다른 map 병합
- Map 선언
- map1에 map2 추가
- 다른 map을 인자로 하는 생성자
#Map 요소 순회열람
- keySet : key를 별도의 Set으로 반환
- entrySet : entry(key,value)를 별도의 Set으로 반환
- entry : key/value 한쌍의 요소
----->toString이 아닌 하나씩 꺼내서 보겠다.
----->map은 순서대로 접근할 수 없다.(=index가 없다)
#학생객체관리
- Map<K, Student> ←V에 Student 대입
- vaule 의 고유값을 꺼내 key값(student #no) 으로 사용
- 여기서 고유한건 학생번호 =>그래서 key값이 맞음 (이름은 중복되니까)
- 학생번호 n번, 이름은 [ㅇㅇㅇ]입니다. 출력하기 (1.keyset 2.entryset)
- " (1.2를 iterator로 바꿔서 순회하기)
#contain Key/Value : 이 key/value가 포함되어 있는가??
@Properties
- K, V의 타입으로 String,String 으로 단순화 시킨 컬렉션클래스
- String,String 고정
- 설정정보 표현에 최적화 된 타입
- properties는 generic 없다.
#Properties객체 -> 설정파일 출력
#설정파일 입력 -> Properties객체
@Generic
- Type safety : 해당 타입의 요소만 추가가능
- 꺼내올 때 해당 타입 리턴 (형변환 안해도 됨)
#Type safety
#generic class / method : 메소드레벨의 타입변수 사용
- generic은 두가지 레벨에서 사용가능
- 1.class : 클래스 레벨에 타입변수 사용 (=test1)
- 2.method : 메소드 레벨에 타입변수 사용 (=test2)
-------------------------------------------------------------------------------
*generic 타입 변수
- T | Type
- E | Element
- K | Key
- V | Value
**
- static 자원(필드/메소드)에는 클래스 레벨의 제네릭 타입변수 사용 X
=>객체 생성 전 타입변수의 타입을 지정할 수 없기 때문이다.
- 제네릭 메소드로 처리하면 가능
- static메소드는 제네릭 메소드만 사용가능
- 리터타입 앞에 타입변수 선언
- 클래스 레벨의 타입변수 T와 다른 지역타입변수 (메소드 안에서만 사용가능)
요소를 인자로 받아서 Box객체 생성, 필드 설정후 리턴(Box파일)
**
'학원 > 강의' 카테고리의 다른 글
*28~30일차 (0) | 2022.03.15 |
---|---|
*26일차(Thread / 동기화) (0) | 2022.03.02 |
*23일차 (0) | 2022.02.24 |
*22일차 (Collection) (0) | 2022.02.23 |
*21일차 (파일 입출력 IO) (0) | 2022.02.22 |