Hamutaro - Hamtaro 4

Backend/Java

[JAVA] ์ž๋ฐ” ์ปฌ๋ ‰์…˜(Collection) ํ”„๋ ˆ์ž„์›Œํฌ

carsumin 2022. 1. 18. 18:53

 

 

์ž๋ฐ” ์ปฌ๋ ‰์…˜(Collection) ํ”„๋ ˆ์ž„์›Œํฌ๋ž€?

 

๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” API

๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅ, ๊ฒ€์ƒ‰, ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ์ œ๊ณต

 

์ฃผ์š” Collection

 

(1) Collection ์ธํ„ฐํŽ˜์ด์Šค

  • List : ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์š”์†Œ์˜ ์ง‘ํ•ฉ, ์ค‘๋ณต ํ—ˆ์šฉ
    • ArrayList : ๋™์  ๋ฐฐ์—ด, index๋ฅผ ํ†ตํ•œ ๋น ๋ฅธ ์ ‘๊ทผ ๊ฐ€๋Šฅ, ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๋А๋ฆผ
    • LinkedList : ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ, ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๋น ๋ฆ„, index๋ฅผ ํ†ตํ•œ ์ ‘๊ทผ์ด ๋А๋ฆผ
  • Set : ์ˆœ์„œ๊ฐ€ ์—†์Œ, ์ค‘๋ณต ๋ถˆ๊ฐ€๋Šฅ
    • HashSet : ํ•ด์‹œ ํ…Œ์ด๋ธ” ๊ธฐ๋ฐ˜, ์ˆœ์„œ ๋ณด์žฅ ๋˜์ง€ ์•Š์Œ, ๋น ๋ฅธ ๊ฒ€์ƒ‰๊ณผ ์‚ฝ์ž…
    • LinkedHashSet : ํ•ด์‹œ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ๋œ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•จ
    • TreeSet : ์ •๋ ฌ๋œ ์ง‘ํ•ฉ
  • Queue : ์š”์†Œ๋ฅผ FIFO ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌ
    • PriorityQueue : ์šฐ์„ ์ˆœ์œ„ ํ, ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์š”์†Œ ์ฒ˜๋ฆฌ

(2) Map ์ธํ„ฐํŽ˜์ด์Šค

  • Map : key-value ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ง‘ํ•ฉ, ๊ฐ key๋Š” ์œ ์ผํ•˜๊ณ  ์ค‘๋ณต ๋ถˆ๊ฐ€
    • HashMap : ํ•ด์‹œ ํ…Œ์ด๋ธ” ๊ธฐ๋ฐ˜, key์˜ ์ˆœ์„œ ๋ณด์žฅ๋˜์ง€ ์•Š๊ณ  ๋น ๋ฅธ ๊ฒ€์ƒ‰๊ณผ ์‚ฝ์ž… ๊ฐ€๋Šฅ
    • LinkedHashMap : ํ•ด์‹œ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ๋œ ์ˆœ์„œ ์œ ์ง€
    • TreeMap : key๋ฅผ ์ •๋ ฌ๋œ ์ˆœ์„œ๋กœ ์œ ์ง€

 

์˜ˆ์ œ

 

import java.util.ArrayList;
import java.util.HashSet;
import java.util.HashMap;

public class CollectionExample {
    public static void main(String[] args) {
        // List
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");
        System.out.println("List: " + list);

        // Set
        HashSet<String> set = new HashSet<>();
        set.add("Apple");
        set.add("Banana");
        set.add("Apple"); // ์ค‘๋ณต๋œ ์š”์†Œ๋Š” ์ถ”๊ฐ€๋˜์ง€ ์•Š์Œ
        System.out.println("Set: " + set);

        // Map
        HashMap<String, Integer> map = new HashMap<>();
        map.put("Alice", 30);
        map.put("Bob", 25);
        map.put("Charlie", 35);
        System.out.println("Map: " + map);
    }
}

 

์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ , ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด์ ์ด ์žˆ๋‹ค.