๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
hashmap ์ ๋ ฌ ๋ณธ๋ฌธ
์ถ์ฒ
https://velog.io/@dev-easy/Java-Map%EC%9D%84-Key-Value%EB%A1%9C-%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0
[Java] Map์ Key, Value๋ก ์ ๋ ฌํ๊ธฐ
Java์์ HashMap ์ ๋ ฌ์ด ํ์ํ ๋, ๊ทธ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค.์ ๋ ฌ ๊ธฐ์ค์ key, value ๋๊ฐ์ง๋ก ๋๋ ์ ์๋ค.map ์ keySet์ ์ด์ฉํ์ฌ ์ ๋ ฌํ๋ค.์ค๋ฆ์ฐจ์ ์์๋ Collection.sort(), ๋ด๋ฆผ์ฐจ์ ์์๋ Col
velog.io
๊ฐ์
Java์์ HashMap ์ ๋ ฌ์ด ํ์ํ ๋, ๊ทธ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค.
์ ๋ ฌ ๊ธฐ์ค์ key, value ๋๊ฐ์ง๋ก ๋๋ ์ ์๋ค.
1. Key ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ
map ์ keySet์ ์ด์ฉํ์ฌ ์ ๋ ฌํ๋ค.
์ค๋ฆ์ฐจ์ ์์๋ Collection.sort(), ๋ด๋ฆผ์ฐจ์ ์์๋ Collection.reverse() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฌํ๋ค.
import java.util.*;
public class Sort {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("A", 10);
map.put("D", 30);
map.put("C", 20);
map.put("B", 40);
List<String> keySet = new ArrayList<>(map.keySet());
// ํค ๊ฐ์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
Collections.sort(keySet);
for (String key : keySet) {
System.out.print("Key : " + key);
System.out.println(", Val : " + map.get(key));
}
/* ๊ฒฐ๊ณผ
Key : A, Val : 10
Key : B, Val : 40
Key : C, Val : 20
Key : D, Val : 30
*/
// ํค ๊ฐ์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
Collections.reverse(keySet);
for (String key : keySet) {
System.out.print("Key : " + key);
System.out.println(", Val : " + map.get(key));
}
/* ๊ฒฐ๊ณผ
Key : D, Val : 30
Key : C, Val : 20
Key : B, Val : 40
Key : A, Val : 10
*/
}
}
2.Value ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ
Value ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๋๋ comparator๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฌํ๋ค.
comparator๋ ๋๋ค ํํ์์ผ๋ก ๊ฐ๋จํ๊ฒ ํํํ ์๋ ์๋ค.
import java.util.*;
public class Sort {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("A", 10);
map.put("D", 30);
map.put("C", 20);
map.put("B", 40);
List<String> keySet = new ArrayList<>(map.keySet());
// Value ๊ฐ์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
keySet.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return map.get(o1).compareTo(map.get(o2));
}
});
for (String key : keySet) {
System.out.print("Key : " + key);
System.out.println(", Val : " + map.get(key));
}
/*
๊ฒฐ๊ณผ
Key : A, Val : 10
Key : C, Val : 20
Key : D, Val : 30
Key : B, Val : 40
*/
// Value ๊ฐ์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
// ์ comparator ๋๋ค ํํ์์ผ๋ก
keySet.sort((o1, o2) -> map.get(o2).compareTo(map.get(o1)));
for (String key : keySet) {
System.out.print("Key : " + key);
System.out.println(", Val : " + map.get(key));
}
/* ๊ฒฐ๊ณผ
Key : B, Val : 40
Key : D, Val : 30
Key : C, Val : 20
Key : A, Val : 10
*/
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA/ํ๋ก๊ทธ๋๋จธ์ค] ์คํ์ฑํ ๋ฐฉ (0) | 2023.03.16 |
---|---|
[JAVA/์ฝ๋ฉํ ์คํธ] ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2023.03.16 |
[JAVA/ํ๋ก๊ทธ๋๋จธ์ค] ๋ ๋งต๊ฒ (0) | 2023.03.16 |
[JAVA/ํ๋ก๊ทธ๋๋จธ์ค] ํผ๋ก๋ (0) | 2023.03.15 |
[JAVA/ํ๋ก๊ทธ๋๋จธ์ค] ์ผ๊ทผ์ง์ (0) | 2023.03.15 |