본문 바로가기
Java/JAVA

Java - HashMap CRUD

by 하니__ 2024. 6. 4.

우선

 

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