Java
컬렉션(Collection) - 6. Properties
에어팟맥스
2022. 6. 30. 21:05
Properties 는 HashMap의 구버전인 Hashtable을 상속받아 구현한 것으로,
Hashtable 은 키와 값(Object, Object)의 형태로 저장하는데 비해서
Properties 는 *(String 키, String 밸류값)*의 형태로 저장하는 단순화된 컬렉션 클래스이다.
키는 고유해야 한다. 즉, *중복을 허락하지 않는다.* 중복된 값을 넣으면 마지막에 넣은 값으로 덮어씌운다.
주로 어플리케이션의 환경설정과 관련된 속성(property)을 저장하는데 사용되며,
데이터를 파일로 부터 읽고 쓰는 편리한 기능을 제공한다.
1. Property에 값 저장
public static void main(String[] args) {
Properties prop = new Properties();
prop.setProperty("jdk", "http://www.oracle.com/technetwork/java/javase/downloads/index.html");
prop.setProperty("eclipse", "http://www.sist.co.kr");
prop.setProperty("eclipse", "http://www.eclipse.org/downloads/eclipse-packages/");
prop.setProperty("oracle", "http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html");
String url = prop.getProperty("eclipse");
System.out.println(url);
// http://www.eclipse.org/downloads/eclipse-packages/
2. prop 에 저장되어진 모든 value 값들을 출력하기
- 먼저 prop 에 저장되어진 키목록을 알아와야 한다.
- 키목록은 아래와 같이 하면 된다.
// Enumeration<?> en = prop.propertyNames();
// 제네릭의 <?> 에서 ? 은 아무거나 를 뜻하는 것으로 Object 와 같은 의미이다. 형태 상관 노
@SuppressWarnings("unchecked")
Enumeration<String> en = (Enumeration<String>) prop.propertyNames();
// Properties prop 에서 키목록은 Enumeration<String> 형태로 반환시켜준다.
while( en.hasMoreElements() ) {
String key = en.nextElement();
System.out.println(key + " = " + prop.getProperty(key));
// 해당 key 에 매핑되어진 value 값을 출력해준다.
} // end of while ----------------------
} // end of main()