Post

변수와 자료형 - 리스트, 맵, 제네릭스

1. 자료형 - 리스트 (List)

  • 배열과 같이 여러 데이터를 담을 수 있는 자료형
  • 추가로 여러가지 메소드를 제공
1
2
ArrayList l1 = new ArrayList();
l1.add(1);
  • 리스트 메소드
    • add, get, size, remove, clear, sort, contains
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;

// Java 프로그래밍 - 변수와 자료형
public class Main {
    public static void main(String[] args) {
// 1. 자료형 - 리스트
        System.out.println("== 리스트 ==");
        ArrayList l1 = new ArrayList();
        // 1-1. add
        l1.add(1);
        l1.add("hello");
        l1.add(2);
        l1.add(3);
        l1.add(4);
        l1.add("world!");
        System.out.println("l1 = " + l1);
        
        l1.add(0,1); // 0번째 인덱스에 값 1을 넣겠다는 의미
        System.out.println("l1 = " + l1);
        
        // 1-2. get
        System.out.println("== get ==");
        System.out.println(l1.get(0));
        System.out.println(l1.get(3));
        
        // 1-3. size
        System.out.println("== size ==");
        System.out.println(l1.size());
        
        // 1-4. remove
        System.out.println("== remove ==");
        System.out.println(l1.remove(0));
        System.out.println("l1 = " + l1);
        System.out.println(l1.remove(Integer.valueOf(2))); // 리스트 내의 2를 지움
        
        // 1-5. clear
        System.out.println("== clear ==");
        l1.clear();
        System.out.println("l1 = " + l1);
        
        // 1-6. sort
        System.out.println("== sort ==");
        ArrayList l2 = new ArrayList();
        l2.add(5);
        l2.add(3);
        l2.add(4);
        System.out.println("l2 = " + l2);

        l2.sort(Comparator.naturalOrder());
        System.out.println("l2 = " + l2);
        l2.sort(Comparator.reverseOrder());
        System.out.println("l2 = " + l2);

        // 1-7. contains
        System.out.println("== contains ==");
        System.out.println(l2.contains(1));
        System.out.println(l2.contains(3));
        
    }
}

image

2. 자료형 - 맵 (Map)

  • key, value 형태로 데이터를 저장하는 자료형
1
2
3
HashMap<String, String> map = new HashMap<String, String>();
map.put("product", "kiwi");
map.put("price","9000");
  • 맵 메소드
    • put, get, size, remove, containsKey
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;

// Java 프로그래밍 - 변수와 자료형
public class Main {
    public static void main(String[] args) {
    

        // 2. Maps
        // Map에 put해도 넣은 순서대로의 보장은 안됨
        System.out.println("== Maps ==");
        HashMap map = new HashMap();

        // 2-1.put
        System.out.println("== put ==");
        map.put("kiwi", 9000);
        map.put("apple", 10000);
        map.put("mango", 12000);
        System.out.println("map = " + map);

        // 2-2. get
        System.out.println("== get ==");
        System.out.println(map.get("mandarine"));
        System.out.println(map.get("kiwi"));

        // 2-3. size
        System.out.println("== size ==");
        System.out.println(map.size());

        // 2-4. remove
        System.out.println("== remove ==");
        System.out.println(map.remove("kiwi"));
        System.out.println(map.remove("mandarine"));
        System.out.println("map = " + map);

        // 2-5. containsKey
        System.out.println("== containsKey ==");
        System.out.println(map.containsKey("apple"));
        System.out.println(map.containsKey("kiwi"));
        
    }
}

image

3. 자료형 - 제네릭스 (Generics)

  • 자료형을 명시적으로 지정
  • 제한적일 수 있으나 안정성을 높이고 형변환을 줄임
1
2
ArrayList<String> l1 = new ArrayList<String>();
HashMap<String, Integer> map1 = new HashMap<String, Integer>();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;

// Java 프로그래밍 - 변수와 자료형
public class Main {
    public static void main(String[] args) {
        // 3. Generics : 자료형 지정을 통해서, 자료형을 제
        System.out.println("== Generics ==");
        ArrayList<String> l4 = new ArrayList<>();

        l4.add("hello");
        System.out.println("l4 = " + l4);

        HashMap<String, Integer> map2 = new HashMap<>();
        map2.put("apple", 10000);
        System.out.println("map2 = " + map2);
        
    }
}

image

This post is licensed under CC BY 4.0 by the author.