우선
HashMap은
파이썬의 딕셔너리와 비슷한 데이터 스트럭쳐이며
키와 밸류로 이루어져 있다
객체 생성
HashMap<String, String> phoneMap = new HashMap<>();
키와 밸류를 담고 있기 때문에
<String, String>으로
키와 밸류의 데이터타입을 적어준다
데이터 생성 CRUD Create
phoneMap.put("model", "iPhone12");
phoneMap.put("year", "2021");
phoneMap.put("color", "red");
어레이리스트와는 다르게 .put( 키, 밸류 )를 사용
데이터 읽기 CRUD Read
System.out.println( phoneMap.get("model"));
하나의 데이터를 읽을때,
그렇다면 전부 알고 싶다면?
for( int i = 0; i < phoneMap.size(); i++ ) {
System.out.println(phoneMap.get(i));
}
라고 생각 할 수 있겠으나
데이터값이 전부 null로 나오는 잘못된 코드다
그렇다면 정확하게 알아보는 방법은?
Object[] values = phoneMap.values().toArray();
for( int i = 0; i < values.length; i++) {
System.out.println( (String)values[i] );
}
for ( Object data : phoneMap.values().toArray() ) {
System.out.println( (String)data );
}
위의 방법은 기존에 쓰이던 방법이고
아래의 방법은 좀 더 간편하게 쓰이는 방법으로
for-each 반복문을 사용한다
결과는 동일 하다
데이터값 변경 CRUD Update
phoneMap.replace("color", "blue");
System.out.println(phoneMap.get("color"));
.replace( 바꿀 키 값, 바뀌는 밸류 값)
을 적어주어 바꾼다
데이터 값 삭제 CRUD Delete
phoneMap.remove("year");
System.out.println(phoneMap.get("year"));
phoneMap.clear();
if (phoneMap.isEmpty() ) {
System.out.println("데이터 없음");
}else {
System.out.println("데이터 있음");
}
.remove( 삭제할 키값) 을 사용하여
하나의 키값과 밸류값을 삭제할수 있으며
.clear() 를 사용하여 전부 삭제하는것이 가능하다
'Java > JAVA' 카테고리의 다른 글
Java - Try catch (0) | 2024.06.04 |
---|---|
Java - NullPointerException (0) | 2024.06.04 |
Java - ArrayList CRUD, for-each 반복문 (0) | 2024.06.03 |
Java - 문자열 관련 함수 (0) | 2024.06.03 |
Java - 문자열을 숫자로, 숫자를 문자열로 변환 (0) | 2024.06.03 |