개발하는 체대생

자료구조 List, Set, Map, HashMap 본문

취업스터디

자료구조 List, Set, Map, HashMap

개발하는체대생
질문 : List, Set, Map, HashMap의 차이에 대해서 설명해주세요.

답변 :
List는 순서가 있고, 중복이 허용되는 데이터의 집합입니다. 대표적으로 ArrayList, LinkedList 등이 있습니다.
Set은 List와 다르게 순서가 없고, 중복이 허용되지 않는 데이터의 집합입니다. 값을 추가할 때 중복을 허용하지 않습니다. 대표적으로 HashSet, TreeSet 등이 있습니다.
Map은 Key와 Value 쌍으로 이루어진 데이터의 집합입니다. Key는 중복을 허용하지 않지만 Value는 중복을 허용합니다. Key를 기준으로 값을 조회하므로, 매우 빠른 검색이 가능합니다. 대표적으로 HashMap, TreeMap 등이 있습니다.
HashMap은 Map 인터페이스를 구현한 클래스 중 하나입니다. Key와 Value 쌍으로 이루어진 데이터의 집합이며, Key는 중복을 허용하지 않습니다. 특징으로는 순서를 보장하지 않으며, null 값을 허용한다는 특징이 있습니다.

List

List는 데이터를 순서대로 저장하는 자료구조입니다. 인덱스를 이용하여 값을 저장하고, 조회할 수 있습니다. List는 중복된 값도 저장이 가능하며, 데이터를 추가, 삭제, 수정하는 등의 작업이 용이합니다.

import java.util.ArrayList;

public class ListExample {
    public static void main(String[] args) {
        ArrayList<Integer> my_list = new ArrayList<>();
        my_list.add(1);
        my_list.add(2);
        my_list.add(3);
        my_list.add(4);
        my_list.add(5);
        System.out.println(my_list);    // [1, 2, 3, 4, 5]
    }
}
 

Set

Set은 데이터의 중복을 허용하지 않는 자료구조입니다. 중복된 값은 하나의 값만 저장이 됩니다. Set은 순서가 없으므로, 데이터를 순서대로 저장하거나 조회하는 것은 불가능합니다.

 

import java.util.HashSet;

public class SetExample {
    public static void main(String[] args) {
        HashSet<Integer> my_set = new HashSet<>();
        my_set.add(1);
        my_set.add(2);
        my_set.add(3);
        my_set.add(4);
        my_set.add(5);
        System.out.println(my_set);    // [1, 2, 3, 4, 5]
    }
}​

 

Map

MapKeyValue로 이루어진 자료구조입니다. Key를 기준으로 Value를 저장하며, Key는 중복될 수 없습니다. Map은 검색에 용이하며, Key를 이용하여 값을 검색하거나 변경하는 등의 작업이 용이합니다.

import java.util.HashMap;

public class MapExample {
    public static void main(String[] args) {
        HashMap<String, Integer> my_map = new HashMap<>();
        my_map.put("apple", 1);
        my_map.put("banana", 2);
        my_map.put("orange", 3);
        System.out.println(my_map);    // {apple=1, banana=2, orange=3}
    }
}

 

HashMap

HashMapMap의 일종으로, KeyValue로 이루어진 자료구조입니다. Key를 기준으로 Value를 저장하며, Key는 중복될 수 없습니다. HashMap은 검색에 용이하며, 검색 속도가 빠릅니다. 또한, 데이터 추가, 삭제, 수정이 용이합니다.

import java.util.HashMap;

public class HashMapExample {
    public static void main(String[] args) {
        HashMap<String, Integer> my_map = new HashMap<>();
        my_map.put("apple", 1);
        my_map.put("banana", 2);
        my_map.put("orange", 3);
        System.out.println(my_map);    // {apple=1, banana=2, orange=3}
    }
}
 

 

'취업스터디' 카테고리의 다른 글

프로세스와 스레드  (0) 2023.03.31
Parameter(매개변수)와 Argument(인자)  (0) 2023.03.30
제네릭이란?  (0) 2023.03.29
MSA(Micro Service Architecture)란?  (0) 2023.03.29
DB에서 Index란?  (0) 2023.03.28
Comments