본문 바로가기
카테고리 없음

Java - maps, HashMap 등 key, value값 관련 기초

by 다니엘의 개발 이야기 2024. 8. 5.
320x100
import com.sun.xml.internal.ws.api.ha.StickyFeature;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;

public class Main {
    public static void main(String[] args) {

        System.out.println("== 리스트 ==");
        ArrayList li = new ArrayList();

        // 1-1. add
        li.add(1);
        li.add(2);
        li.add("hello");
        li.add(3);
        System.out.println("li = " + li);

        li.add(0, 1);
        System.out.println("li = " + li);

        // 1-2. get
        // 해당되는 인덱스의 값을 리턴
        System.out.println(li.get(3));
        System.out.println(li.get(4));

        //1-3.size
        // 원하는 변수에 들어있는 총 인덱스 값을 리턴해준다.

        System.out.println(li.size());

        // 1-4 remove
        // 인덱스값 혹은 그냥 특정 값을 입력해도 됨

        // 인덱스 0 으로 지우기
        System.out.println(li.remove(0));

        // 2라는 값으로 지우기
        System.out.println(li.remove(Integer.valueOf(2)));

        System.out.println("li = " + li);

        // 1-5 clear
        // 완전히 내용을 없애주고 빈 리스트로 만들어주기
        li.clear();
        System.out.println("li = " + li);

        // 1-6 sort

        ArrayList l2 = new ArrayList();
        l2.add(5);
        l2.add(6);
        l2.add(8);
        System.out.println(l2);

        // 오름차순 정렬
        l2.sort(Comparator.naturalOrder());
        System.out.println(l2);
        // 내림차순 정렬
        l2.sort(Comparator.reverseOrder());
        System.out.println(l2);

        // 1-7 contains
        // 데이터가 리스트에 들어있는지 체크
        System.out.println(l2.contains(1));
        System.out.println(l2.contains(2));

        // 2. Maps
        // 쌍을 이루어서 사용하는 데이터
        System.out.println("== Maps ==");
        HashMap map = new HashMap();

        // 2-1 put
        // map 자료 안에 데이터를 넣는 메소드

        map.put("kiwi", 9000);
        map.put("banana", 10000);
        map.put("butter", 14000);
        System.out.println("map = " + map);

        // 2-2 get
        // map 내부 찾기
        System.out.println(map.get("mandarine"));
        System.out.println(map.get("banana"));

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

        // 2-4 remove
        // 지우면서 지워진 것에 대한 값을 리턴하면서 삭제한다. 없으면 null
        System.out.println(map.remove("banana"));

        System.out.println("map = " + map);

        // 2-5 containsKey
        // 해당 키가 map에 있는지 확인

        System.out.println(map.containsKey("banana"));

        // 3. Generics 자료형을 제한하는 기능
        System.out.println("== Generics ==");
        ArrayList l3 = new ArrayList();
        l3.add(1);
        l3.add("hello");
        System.out.println("l3 = " + l3);

        ArrayList<String> l4 = new ArrayList<String>(

        );
        l4.add("hello");
        System.out.println("l4 = " + l4);
        // 이 HashMap이 Generics 기능인듯 하다.
        // 이게 들어가면, 한번 숫자, 문자의 조합이라면 다음에 넣을땐 문자 + 숫자의 조함으로 하지 않으면 에러가 나는 듯 하다.
        HashMap map1 = new HashMap();
        map1.put(123, "id");
        map1.put("apple", 10000);
        System.out.println("map = " + map1);

        HashMap<String, Integer> map2 = new HashMap<>();

        // map2.put(123, "id");
        map2.put("id", 123);
        System.out.println("map2 = "+map2);





    }
}

 

Generics로 추정되는 HashMap의 기능이 약간 헷갈리지만, 전반적으로는 괜찮은 것 같다.

300x250