
ํด์ฌ๋๊น.. ๊ฐ์...ใ
Java์ Collection ํ๋ ์์ํฌ ์ค ํ๋
์์๋ฅผ ์ ์ฅํ ๋ ์์๋ฅผ ์ ์งํ์ง ์๊ณ , ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์๋ฃ๊ตฌ์กฐ
๋ด๋ถ์ ์ผ๋ก HashMap์ ์ฌ์ฉํ์ฌ ๊ตฌํ
import java.util.HashSet;
HashSet<String> set = new HashSet<>();
| ๋ฉ์๋ | ์ค๋ช |
|---|---|
| add(E e) | ์์๋ฅผ ์ถ๊ฐ |
| remove(Object o) | ํน์ ์์๋ฅผ ์ ๊ฑฐ |
| contains(Object o) | ์์๊ฐ ์กด์ฌํ๋์ง ํ์ธ |
| size() | ์์์ ๊ฐ์ |
| isEmpty() | ๋น์ด์๋์ง ํ์ธ. |
| clear() | ๋ชจ๋ ์์๋ฅผ ์ ๊ฑฐ |
| iterator() | ์์๋ค์ ๋ฐ๋ณตํ ์ ์๋ Iterator ๋ฐํ |
๊ณผ์ผ์ ์ถ๊ฐํ๋ ๋ฉ์๋๋ฅผ ํ์ฉํด HashSet์ ์ดํดํด๋ณด์
public class Example {
public static void main(String[] args) {
HashSet<String> fruits = new HashSet<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
fruits.add("Apple"); // ์ค๋ณต๋ ์์ ์ถ๊ฐ ์๋จ.
System.out.println(fruits); //์ถ๋ ฅ : [Apple, Banana, Orange]
if (fruits.contains("Banana")) {
System.out.println("Banana๊ฐ ์กด์ฌํฉ๋๋ค.");
} //์ถ๋ ฅ : Banana๊ฐ ์กด์ฌํฉ๋๋ค.
fruits.remove("Orange");
System.out.println(fruits); //์ถ๋ ฅ : [Apple, Banana]
System.out.println(fruits.size()); //์ถ๋ ฅ : 2
}
}
HashSet ์์ ArrayList๋ฅผ ์ถ๊ฐํด์ ์ฌ์ฉํ ์ ์๋ค.
์์๋ฅผ ๊ฐ์ด ๋ด๋ณด์
public class Example {
public static void main(String[] args) {
HashSet<ArrayList<String>> menuSet = new HashSet<>();
//ํ๋ฒ
๋ฆฌ์คํธ
ArrayList<String> Burgurs = new ArrayList<>();
Burgurs.add("burger1");
//์๋ฃ์ ๋ฆฌ์คํธ
ArrayList<String> Drinks = new ArrayList<>();
Drinks.add("์ฝ๋ผ๋ ์ ๋ก์ง์ใ
");
Drinks.add("ํฉ์์ ๋ก ๋ง์์");
//๋์ ํธ ๋ฆฌ์คํ
ArrayList<String> Desserts = new ArrayList<>();
dessertMenu.add("๋คํฌ์ด์ฝ๋ ๋ง๋๋ฆฌ");
menuSet.add(Burgers);
menuSet.add(Drinks);
menuSet.add(Desserts); //๋ฉ๋ด์ธํธ ํด์ฌ์
์์ ๋ฆฌ์คํธ 3๊ฐ ์ถ๊ฐ!
// HashSet ๋ด์ฉ ์ถ๋ ฅํ๊ธฐ
for (ArrayList<String> menu : menuSet) {
System.out.println(menu);
}
}
}
๊ฐ๊ฐ ํ๋ฒ๊ฑฐ, ์๋ฃ์, ๋์ ํธ ๋ฉ๋ด๋ฅผ ArrayList ์์ ๋ฃ์ด์ฃผ๊ณ
์ด ๋ฆฌ์คํธ๋ค์ ๋ชจ๋ MenuSet์ด๋ผ๋ HashSet์ ๋ฃ์ด์ฃผ๋ฉด ์๋์ฒ๋ผ ์ถ๋ ฅ๋๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค.
[burger1]
[์ฝ๋ผ๋ ์ ๋ก์ง์ใ
, ํฉ์์ ๋ก ๋ง์์]
[๋คํฌ์ด์ฝ๋ฆฟ ๋ง๋๋ฆฌ]
: ํค-๊ฐ(Key-Value) ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ
์๋์ฒ๋ผ ์ ์ํ ์ ์๋ค
HashMap<key, value> hashMap = new HashMap<>();
์ฌ๊ธฐ์ < > ์์ ๋ค์ด๊ฐ ์ ์๋ ํ์
์ ์ ์๋๋
Integer Double String ๋ฑ๊ณผ ๊ฐ์ด ํ๋ค์์ ์ ์ด์ฃผ์ด์ผํ๋ค
// HashMap ์ ์ธ (ํค์ ๊ฐ์ ํ์
์ ์ง์ )
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("John", 1030); //put์ผ๋ก ๋ฐ์ดํฐ ๋ฃ๊ธฐ
hashMap.put("Emily", 1510);
hashMap.put("Minjee", 2758);
System.out.println(hashMap); //hashMap์ ๋ค์ด์๋ ๋ฐ์ดํฐ ์ถ๋ ฅ
{John=1030, Minjee=2758, Emily=1510}
์ด๋ ๊ฒ ์์ ์์ด ์ถ๋ ฅ๋๋ ๋ชจ์ต์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ฝ ๋ด๊ฐ Minjee์ ์ฌ์๋ฒํธ๋ง ์กฐํํ๊ณ ์ถ๋ค๋ฉด get(ํค ๊ฐ)์ ์ฌ์ฉํ์
System.out.println(hashMap.get("Minjee")); //2758์ถ๋ ฅ
get(ํค๊ฐ) : value ๊ฐ์ ธ์ค๊ธฐcontainsKey() : true / false ์ถ๋ ฅ -> key ๊ฐ์ด ์กด์ฌํ๋์งcontainsValue() : true / false ์ถ๋ ฅ -> value ๊ฐ์ด ์กด์ฌํ๋์งput(key, value) : key, value ์ธํธ ์ ์ฅreplace(key,value) : key, value ์ธํธ ๊ฐฑ์ putIfAbsent(key,value)remove(key) : ์ผ์นํ๋๊ฑฐ ์ฐพ์์ ์ญ์ HashMap์ ๋ค์ข์๋ฐ... ์์๊ฐ ์์ด....
์ด๊ฑธ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ! - โจLinkedHashMapโจ
๋๋จธ์ง๋ ๋ค ๋๊ฐ์๋ฐ LinkedHashMap๋ ์์๋๋ก ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์์๊ฐ ํ์ํ ์ฝ๋ฉ์ ์ฐฐ๋ก์ฝฉ๋ก์ด๋ค
์๊น ์์์ HashSet์ ์ฌ์ฉํด์ ๋ฆฌ์คํธ ์์ ๋ฆฌ์คํธ๋ฅผ ๋ฃ์๋ค.
๊ทธ๋ฌ๋ฉด ๋ด๊ฐ ๋ฆฌ์คํธ์ ์ด๋ฆ๋ง๋ ๋ฝ์์ฐ๊ณ ์ถ์ ์ ์์๋์?
๊ทผ๋ฐ.. HashSet์ ์ธ๋ฑ์ค๋ก ์ ๊ทผ์ด ์๋จใ
ใ
โ ์๋ณํ ์ ์๋๋ก ๋์์ ์ค์ผ์ง! โก๏ธ HashMap
๋ ๊ทธ๋ฅ HashMap์ ์์๋๋ก ์ถ๋ ฅ์ด ์๋ผ...
โ ์์๋๋ก ์ ์ฅํ๋ ๊ฑฐ! โก๏ธ โจLinkedHashMapโจ
MenuCartegory LinkedHashMap ๋ง๋ค์
HashMap<String, List<MenuItem4>> MenuCartegory = new LinkedHashMap<>();
์ด๋ ๊ฒ ๊ฐ๊ฐ ์์์ ๋ฆฌ์คํธ๊ฐ ์๋ค
//ํ๋ฒ๊ฑฐ ๋ฉ๋ด ๋ฆฌ์คํธ
private final List<MenuItem4> Burgers = new ArrayList<>();
//์๋ฃ์ ๋ฆฌ์คํธ
private final List<MenuItem4> Drinks = new ArrayList<>();
//๋์ ํธ ๋ฆฌ์คํธ
private final List<MenuItem4> Desserts = new ArrayList<>();
์ด ๋ฆฌ์คํธ๋ฅผ MenuCartegory์ ๊ฐ๊ฐ Burgers Drinks Desserts๋ฅผ ๋ฃ์ด์ค๋ณด์ โก๏ธ put()์ ์ฌ์ฉํ๋ฉด ๋๊ฒ ์ฅฌ?
MenuCartegory.put("Burgers", Burgers);
MenuCartegory.put("Drinks", Drinks);
MenuCartegory.put("Desserts", Desserts);
์ด๋ ๊ฒ ๋ฃ์ด์คฌ์ผ๋ ์ด์ key๊ฐ์ ํตํด์ ๋ฆฌ์คํธ๋ฅผ ์กฐํํ ์ ์ใท๋ค~!!