2023.11.14 - [๐ฅ๏ธ ๋ฐฑ์๋/Java] - [ch.11] ์ปฌ๋ ์ ํ๋ ์์ํฌ Map
int size(): ๋งต์ ์ ์ฅ๋ ํค-๊ฐ ์์ ๊ฐ์๋ฅผ ๋ฐํํฉ๋๋ค.
boolean isEmpty(): ๋งต์ด ๋น์ด์๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค. ๋งต์ด ๋น์ด์์ผ๋ฉด true, ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
boolean containsKey(Object key): ๋งต์ ํน์ ํค๊ฐ ์กด์ฌํ๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค. ํค๊ฐ ์กด์ฌํ๋ฉด true, ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
boolean containsValue(Object value): ๋งต์ ํน์ ๊ฐ์ด ์กด์ฌํ๋์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค. ๊ฐ์ด ์กด์ฌํ๋ฉด true, ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
V get(Object key): ์ง์ ๋ ํค์ ์ฐ๊ฒฐ๋ ๊ฐ์ ๋ฐํํฉ๋๋ค. ํด๋น ํค๊ฐ ๋งต์ ์์ผ๋ฉด null์ ๋ฐํํฉ๋๋ค.
V put(K key, V value): ์ง์ ๋ ํค์ ๊ฐ์ ๋งต์ ์ ์ฅํฉ๋๋ค. ํด๋น ํค๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ฉด ์ด์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
V remove(Object key): ์ง์ ๋ ํค์ ๊ทธ์ ๋์๋๋ ๊ฐ์ ๋งต์์ ์ ๊ฑฐํฉ๋๋ค. ํด๋น ํค๊ฐ ์กด์ฌํ๋ฉด ๊ฐ์ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด null์ ๋ฐํํฉ๋๋ค.
void putAll(Map<? extends K, ? extends V> m): ๋ค๋ฅธ ๋งต์ ๋ชจ๋ ํค-๊ฐ ์์ ํ์ฌ ๋งต์ ์ถ๊ฐํฉ๋๋ค.
void clear(): ๋งต์ ๋ชจ๋ ํค-๊ฐ ์์ ์ ๊ฑฐํฉ๋๋ค.
Set<K> keySet(): ๋งต์ ๋ชจ๋ ํค๋ฅผ ํฌํจํ๋ ์งํฉ์ ๋ฐํํฉ๋๋ค.
Collection<V> values(): ๋งต์ ๋ชจ๋ ๊ฐ์ ํฌํจํ๋ ์ปฌ๋ ์ ์ ๋ฐํํฉ๋๋ค.
Set<Map.Entry<K, V>> entrySet(): ๋งต์ ๋ชจ๋ ํค-๊ฐ ์์ ํฌํจํ๋ ์งํฉ์ ๋ฐํํฉ๋๋ค. ๊ฐ ์์ Map.Entry<K, V> ๊ฐ์ฒด์ ๋๋ค.
boolean equals(Object o): ๋งต์ด ์ง์ ๋ ๊ฐ์ฒด์ ๋์ผํ์ง ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค.
int hashCode(): ๋งต์ ํด์ ์ฝ๋ ๊ฐ์ ๋ฐํํฉ๋๋ค.
default V getOrDefault(Object key, V defaultValue): ์ง์ ๋ ํค์ ์ฐ๊ฒฐ๋ ๊ฐ์ ๋ฐํํฉ๋๋ค. ํด๋น ํค๊ฐ ๋งต์ ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ ๋ฐํํฉ๋๋ค.
default void forEach(BiConsumer<? super K, ? super V> action): ๋งต์ ๊ฐ ํค-๊ฐ ์์ ๋ํด ์ฃผ์ด์ง ์์ ์ ์ํํฉ๋๋ค.
default void replaceAll(BiFunction<? super K, ? super V, ? extends V> function): ๋งต์ ๋ชจ๋ ํค-๊ฐ ์์ ์ฃผ์ด์ง ํจ์์ ๋ฐ๋ผ ๋์ฒดํฉ๋๋ค.
default V putIfAbsent(K key, V value): ์ง์ ๋ ํค๊ฐ ์์ง ๋งต์ ์๋ ๊ฒฝ์ฐ, ํค์ ๊ฐ์ ๋งต์ ์ ์ฅํฉ๋๋ค. ํค๊ฐ ์ด๋ฏธ ์กด์ฌํ๋ฉด ํ์ฌ ๊ฐ์ ๋ฐํํฉ๋๋ค.
default boolean remove(Object key, Object value): ๋งต์์ ์ง์ ๋ ํค์ ๊ฐ์ ํด๋นํ๋ ํญ๋ชฉ์ ์ ๊ฑฐํฉ๋๋ค. ์ ๊ฑฐ์ ์ฑ๊ณตํ๋ฉด true๋ฅผ, ์คํจํ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
default boolean replace(K key, V oldValue, V newValue): ๋งต์ ์ ์ฅ๋ ํค์ ํ์ฌ ๊ฐ์ด ์ง์ ๋ ๊ฐ๊ณผ ๋์ผํ ๊ฒฝ์ฐ, ์ ๊ฐ์ผ๋ก ๋์ฒดํฉ๋๋ค. ๋์ฒด์ ์ฑ๊ณตํ๋ฉด true๋ฅผ, ์คํจํ๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค.
default V replace(K key, V value): ์ง์ ๋ ํค๊ฐ ๋งต์ ์กด์ฌํ๋ ๊ฒฝ์ฐ, ํด๋น ํค์ ๊ฐ์ ์ ๊ฐ์ผ๋ก ๋์ฒดํฉ๋๋ค.
default V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction): ์ง์ ๋ ํค๊ฐ ๋งต์ ์๊ฑฐ๋ null์ธ ๊ฒฝ์ฐ, ์ฃผ์ด์ง ํจ์๋ฅผ ์ด์ฉํด ์ ๊ฐ์ ๊ณ์ฐํ๊ณ ๋งต์ ์ ์ฅํฉ๋๋ค.
default V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): ์ง์ ๋ ํค๊ฐ ๋งต์ ์๊ณ , ํด๋น ํค์ ๋ํ ๊ฐ์ด null์ด ์๋ ๊ฒฝ์ฐ, ์ฃผ์ด์ง ํจ์๋ฅผ ์ด์ฉํด ๊ฐ์ ์ฌ๊ณ์ฐํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋งต์ ์ ์ฅํฉ๋๋ค.
default V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): ์ง์ ๋ ํค์ ๋ํ ์ ๊ฐ์ ์ฃผ์ด์ง ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐํ๊ณ ๋งต์ ์ ์ฅํฉ๋๋ค.
default V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction): ์ง์ ๋ ํค์ ๋ํ ๊ฐ์ด ์ด๋ฏธ ์กด์ฌํ๋ฉด ์ฃผ์ด์ง ํจ์๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ ๊ฒฐํฉํ๊ณ , ๊ฐ์ด ์์ผ๋ฉด ์ ๊ฐ์ ๊ทธ๋๋ก ์ ์ฅํฉ๋๋ค.
static <K, V> Map<K, V> of(): ๋น ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๋งต์ ์์ฑํฉ๋๋ค.
static <K, V> Map<K, V> of(K k1, V v1) ๋ฑ: ํ ๊ฐ ์ด์์ ํค-๊ฐ ์์ ํฌํจํ๋ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๋งต์ ์์ฑํฉ๋๋ค.
static <K, V> Entry<K, V> entry(K k, V v): Map.Entry ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ํค์ ๊ฐ ์์ ํํํฉ๋๋ค.
interface Entry<K, V> ๋ด์ ๋ฉ์๋๋ค:
getKey(), getValue(): ๊ฐ๊ฐ ์ํธ๋ฆฌ์ ํค์ ๊ฐ์ ๋ฐํํฉ๋๋ค.
setValue(V value): ์ํธ๋ฆฌ์ ๊ฐ์ ์ ๊ฐ์ผ๋ก ๋์ฒดํฉ๋๋ค.
Comparator ๊ด๋ จ ๋ฉ์๋๋ค:
comparingByKey(), comparingByValue(): ํค ๋๋ ๊ฐ์ ๋ฐ๋ผ Map.Entry ๊ฐ์ฒด๋ฅผ ๋น๊ตํ๋ Comparator๋ฅผ ๋ฐํํฉ๋๋ค.
comparingByKey(Comparator<? super K> cmp), comparingByValue(Comparator<? super V> cmp): ์ฃผ์ด์ง Comparator๋ฅผ ์ฌ์ฉํ์ฌ ํค ๋๋ ๊ฐ์ ๋ฐ๋ผ Map.Entry ๊ฐ์ฒด๋ฅผ ๋น๊ตํฉ๋๋ค.
int size(); boolean isEmpty(); boolean containsKey(Object key); boolean containsValue(Object value); V get(Object key); V put(K key, V value); V remove(Object key); void putAll(Map<? extends K, ? extends V> m); void clear(); Set<K> keySet(); Collection<V> values(); Set<Map.Entry<K, V>> entrySet(); boolean equals(Object o); int hashCode(); default V getOrDefault(Object key, V defaultValue) { V v; return (((v = get(key)) != null) || containsKey(key)) ? v : defaultValue; } default void forEach(BiConsumer<? super K, ? super V> action) default void replaceAll(BiFunction<? super K, ? super V, ? extends V> function) default V putIfAbsent(K key, V value) default boolean remove(Object key, Object value) default boolean replace(K key, V oldValue, V newValue) default V replace(K key, V value) default V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) default V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) default V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) default V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) static <K, V> Map<K, V> of() static <K, V> Map<K, V> of(K k1, V v1) static <K, V> Map<K, V> of(K k1, V v1, K k2, V v2, K k3, V v3) static <K, V> Entry<K, V> entry(K k, V v)
interface Entry<K, V> {
K getKey(); V getValue(); V setValue(V value); boolean equals(Object o); int hashCode(); public static <K extends Comparable<? super K>, V> Comparator<Map.Entry<K, V>> comparingByKey() atic <K, V extends Comparable<? super V>> Comparator<Map.Entry<K, V>> comparingByValue() public static <K, V> Comparator<Map.Entry<K, V>> comparingByKey(Comparator<? super K> cmp) public static <K, V> Comparator<Map.Entry<K, V>> comparingByValue(Comparator<? super V> cmp)
}
'๐๏ธ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ > ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฉ์๋] ArrayDeque ํด๋์ค ๋ฉ์๋ (2) | 2023.11.30 |
---|---|
[๋ฉ์๋] Stack ํด๋์ค ๋ฉ์๋ (1) | 2023.11.30 |
[๋ฉ์๋] ArrayList ํด๋์ค ๋ฉ์๋ (0) | 2023.11.21 |
[์๋ฐ ์๊ณ ๋ฆฌ์ฆ ch.1] ๋ฌธ์์ด(3) (0) | 2023.11.12 |
[์๋ฐ ์๊ณ ๋ฆฌ์ฆ ch.1] ๋ฌธ์์ด(2) (0) | 2023.11.12 |