Java

자바 Map

최종군 2024. 7. 12. 20:00

 

Map <K,V> 특징 

 

key - value 형식으로 데이터를 저장(관리)

 

key에 해당하는 데이터 : 중복을 허용하지 않는다 (set 방식)

 

value에 해당하는 데이터 : 중복이 허용된다 (단. 키 값이 중복되지 않은 경우)

+ List 방식 

 

 

// Map 메소드
// [1] 데이터 추가 : put(키에 해당하는 값, 밸류에 해당하는 값)
// [2] 데이터 삭제 : remove(키에 해당하는 값)
// [3] 데이터 조회 : get(키에 해당하는 값) - keySet (키 목록 조회)
// [4] keySet (키 목록 조회)
// [5] 데이터 길이 조회 : size()

 

 

Key 목록 조회 : keySet() 

Set<Integer> keyList = hashMap.keySet();

 

Set<타입매개변수> 참조변수 = Map_참조변수.keySet();

 

 

 

// 키 데이터 출력
for (Integer key : keyList){
    System.out.println(key);}
// 데이터 조회
for (Integer key : keyList) {
    System.out.println(key + " : " + hashMap.get(key));}

 

 

while (it.hasNext()){
    // 데이터가 있다면 출력하겠다
    int key = it.next();
    System.out.println( key + " : " + hashMap.get(key));
}

 

 

 

while (entryIt.hasNext()){
    
   Entry entry = (Entry) entryIt.next();
   
   Integer key = (Integer) entry.getKey();
   String value = (String) entry.getValue();
    System.out.println(key + " : " + value);
}

 

 

 

 

 

public static void propertiesTest(){
    // PropertiesTest : Map 계열의 콜렉션 --> key + value 한 쌍으로 데이터 저장(관리)
    //

    Properties prop = new Properties();

    prop.put("List","ArrayList");
    prop.put("Set","HashSet");
    prop.put("Map","HashMap");
    prop.put("Map","Properties");

    System.out.println(prop);
    // -- > 저장 순서 x, key 값은 중복되지 않음!(같은 키값인 경우 덮어씌워짐)

    /*
    * Properties : 주로 저장된 데이터를 파일에 출력 또는 입력하여 사용
    * - store(), load() 메소드 사용
    * */

    System.out.println("------------------------------------------");

    Properties prop2 = new Properties();

    try {
        // store : Properties에 저장된 데이터(key - value)를 파일형태로 저장할 때 사용하는 메소드
        prop.store(new FileOutputStream("test.properties"), "propertiesTest");

        // storeToXML() : Properties에 저장된 데이터를 키 밸류를 xml 형식으로 저장할 때 사용하는 메소드
        prop.storeToXML(new FileOutputStream("test.xml"),"xmlTest");

        // load 파일로부터 데이터를 읽어올 때 사용되는 메소드
        prop2.load(new FileInputStream("test.properties"));
        System.out.println(prop2);

        prop2.loadFromXML(new FileInputStream("test.xml"));
        System.out.println(prop2);
        // XML 형식의 파일로부터 데이터를 읽어올 때 사용되는 메소드

    }catch (IOException e){
        System.out.println("[ERROR]" + e.getMessage());
    }


}

'Java' 카테고리의 다른 글

자바 예외처리 ~ IO 입출력 내용 정리  (0) 2024.07.14
자바 복습 _2 상속, 다형성  (0) 2024.07.13
자바 복습하기 _ 1  (0) 2024.07.11
자바 변수부터 콜랙션까지 내용 정리  (0) 2024.07.10
자바 Collection List, Set  (0) 2024.07.09