javaboiii의 JAVA/JAVA 기초

JAVA - 컬렉션 프레임워크(배열리스트, 맵)

javaboiii 2024. 7. 15. 15:28

JAVA

1. 컬렉션 프레임워크(Collection FrameWork)

컬렉션 - 다수의 데이터

프레임 워크 - 표준화된 프로그래밍 방식

 

컬렉션 프레임워크란 데이터 그룹을 저장하는 클래스들을 표준화한 설계

가변적인 크기를 갖는 특징을 가지고 데이터 삽입, 탐색, 정렬 등 편리한 API를 제공함

 

모든 컬렉션들은 자료형을 제한하지 않고 저장할 수 있음

그러나, 자료형 제한없이 사용하는 것은 개발자에게 불리함

 

1) toString() 오버라이딩이 되어있어서 전체출력이 예쁨

2) 다양한 메서드들이 이미 만들어져 있음

3) 원래 자료형 제한이 없기에,

자료형을 "강제"해서 사용함 == ★제네릭<>★

2. 배열리스트(ArrayList)

 List는 순서가 있고 데이터 중복을 허용

 

배열[]은 개수가 정해져 있지만 배열리스트는 개수가  무제한

자료형 제한이 없지만 제네릭으로 강제해서 사용함

// 배열[] : 개수가 정해져있음
// 배열리스트 : 개수 무제한 ◀
// 모든 컬렉션들은 자료형을 제한하지않고 저장할수있음
// 그러나, 자료형 제한없이 사용하는 것은 개발자가에게 불리함!
// 자료형 "강제" == 제네릭<>
ArrayList<Integer> al=new ArrayList<Integer>();
//al.add(3.14);
//al.add("apple");
//al.add('A');
al.add(10);
al.add(20);
al.add(30);
al.add(1, 123); // 오버로딩
boolean ans = al.contains(124);
System.out.println(ans);
System.out.println(al.get(1));
//al.clear(); // 전부지움
ans = al.isEmpty();
System.out.println(ans);
System.out.println(al);
System.out.println(al.size()); // .length
al.remove(1);
System.out.println(al.size());
System.out.println(al);
// 최상위 Object 클래스로부터 toString()을 '오버라이딩'했다.

 

3. 맵(Map)

맵은 key - value

키 값 - 데이터 값

키: 다른 데이터와 중복 XX == PK

데이터 : 실제 데이터

 

맵의 종류

HashMap

 >> key - value가 무작위로 담기는 Map(순서가 없음)

LinkedHashMap

 >> key - value가 넣는 순서대로 담기는 Map(순서가 있음)

 

맵 생성

Map<키 값의 자료형, 데이터 값의 자료형>

Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1001, "홍길동");
map.put(1002, "아무무");
System.out.println(map.containsKey(1001));
System.out.println(map.containsValue("티모"));
System.out.println(map.get(1003));
//map.clear();
//System.out.println(map.isEmpty());
System.out.println(map.size());

System.out.println(map);