0709 - JAVA Map 컬렉션
0709 - JAVA Map 컬렉션
Map 컬렉션의 특징 및 주요 메소드
- 키(key)와 값(value)로 구성된 Map.Entry 객체를 저장하는 구조
- 키와 값은 모두 객체이다.
- 키는 중복(X)될 수 없지만
- 값은 중복(O) 저장 가능
- HashMap, Hashtable, LinkedHashMap, Properties, TreeMap
- Map 컬렉션
//--1. Map 컬렉션 생성
// Map 요소의 키의 타입 -> String / 값의 타입 -> Integer
Map<String, Integer> map = new HashMap<>();
//put 으로 키와 값을 저장
map.put("홍길동", 90);
//map.size()로 map의 총 엔트리 수를 반환
map.size()
//get()으로 '키'에 대한 '값'을 반환
map.get("홍길동")
//remove()으로 '키'에 대한 '값'을 삭제
map.remove("홍길동");
//clear()으로 객체 전체 삭제 (자원해제)
map.clear();
Map 컬렉션의 순회
- forEach 람다식으로 컬렉션 순회
//--1st. method : forEach
map.forEach(
(k, v) -> {
String formatted = String.format("- name : %s, vlaue : %s", k, v);
log.info(formatted);
} // BiConsumer<K, V>의 람다식
);
- 반복자(iterator)의 hasNext()메소드로 우선 순회할 요소가 남아있는지 확인하고, 있다면(true이면), 반복자의 next() 메소드로 해당 객체를 얻어낼 수가 있다.
//--2st. method : 객체를 하나씩 처리
Set<String> keySet = map.keySet();
Iterator<String> keyIterator = keySet.iterator();
while(keyIterator.hasNext()) {
String key = keyIterator.next();
Integer value = map.get(key);
log.info("\t" + key + " : " + value);
}//while
Objects - helper 클래스
Objects.requireNonNull(map); - 인자의 null 체크를 해주고 null이 아닐시 그대로 반환
- Map 컬렉션의 Properties
- Properties 특징
- [키와 값]을 String 타입으로 제한한 Map 컬렉션이다.
- properties는 프로퍼티(@#!@$.properties)파일을 읽어 들일 때 주로 사용한다.
- 프로퍼티(!@#!@#!#.properties) 파일
- 옵션 정보, 데이터베이스 연결 정보, 국제화(다국어) 정보를 기록
- 텍스트 파일로 활용
- 애플리케이션에서 주로 변경이 잦은 문자열을 저장한다.
- 유지보수를 편하게 만들어준다
- 키와 값이 '=' 기호로 연결되어 있는 텍스트 파일이다
- ISO 8859-1 문제셋으로 저장되며
- 한글은 유니코드로 변환되어 저장된다.
- .properties파일을 handling할 수 있는 Map객체로 Properties객체 생성
Properties properties = new Properties();
- .properties파일의 위치(경로) 얻기
String path = PropertiesExample.class.getResource("database.properties").getPath();
- Classpath에서 찾은 database.properties 파일의 경로가 이미 URL Encoding 되어있기 때문에, 다시 역으로 URL Decoding을 수행해서, 정상적인 파일경로를 얻도록한다.
path = URLDecoder.decode(path, "utf-8"); log.info("- path : " + path);
- database.properties파일을 읽어서, Map객체로 끌어올리도록(loading) 한다!
properties.load(new FileReader(path));
- Properties타입의 메소드 중에, 특정 요소의 값을 반환하는 메소드로, getProperty(key)가 있음.
- 이 메소드로, database.properties 파일에 있는 값을 얻는 것과 같음.
String driver = properties.getProperty("driver"); String url = properties.getProperty("url"); log.info("driver : " + driver); log.info("url : " + url);
Author And Source
이 문제에 관하여(0709 - JAVA Map 컬렉션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jsung12/0709-JAVA-Map-컬렉션저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)