JAVA/강의

14일차 강의 - 컬렉션 프레임워크

record2080 2025. 1. 20. 22:04

<컬렉션 프레임워크> -뼈대,틀

:리스트, 집합, 맵 (리셋맵)

 

컬렉션 프레임워크 : like list

장점

1. 개발자가 개발에 활용하기가 용이

2. 프로그램 동작중에도 메모리(크기)를 늘리거나 줄일 수 있음

>>배열의 3요소 중에 하나인 크기를 정해두지 않아도(몰라도) 쓸 수 있음

add() set()
clear() isEmpty()
contains() size()
get() remove()

 

주의사항) 자료형을 절대 섞어쓰지 않는다

ArrayList<Integer> datas=new ArrayList<>();

저장할 데이터의 타입을 "강제" genelic제네릭필수.

 

//iterator복사체 : hasNext는 복사체만!!
이터레이션

Iterator<Integer> itr=a1.iterator();
while(itr.hasNext()) {
Sys(itr.next());
//forEach로도 구현가능
}


<HashSet> 

집합의 첫번째 특징

1. 중복을 허용하지 않는다

2. 인덱스 개념이 없어 순서가 없다

예) 포켓몬 p=new 피카츄(); //앞에 있는 포켓몬은 추상클래스

 

크기가 작은 10이하인 경우, 오름차순으로 나올 수 있지만 범위가 커지면 집합의 특징이 나타난다.

import java.util.HashSet;
import java.util.Random;
import java.util.Set;

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

		Set<Integer> set=new HashSet<Integer>();

		Random rand=new Random();
		while(true) {
			int randNum=rand.nextInt(10);
			set.add(randNum);
			if(set.size()>=5) {
				break;
			}
		}
		System.out.println(set);
	}

}

 

<Hash 맵>

index개념은 없는 대신 키값으로 검색 (인덱스를 지정하는 느낌)
key와 value 값이 한쌍으로 되어 있어서 이 한 쌍이 하나의 데이터.
 key:value
키값은 중복되어서는 안된다 (PK)
value는 중복되도 된다(동명이인 이라고 생각하자)
set=replace
add=put

※ pk값으로 대부분 integer를 많이 쓴다.

import java.util.HashMap;
import java.util.Map;


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

		Map<Integer,String> map=new HashMap<>();
		map.put(101, "사과");
	}

}

 

'JAVA > 강의' 카테고리의 다른 글

MVC-V  (0) 2025.01.23
7일차 강의- 함수 선언, 정의, 호출  (0) 2025.01.21
14일차 강의 - 2부 OOP  (0) 2025.01.20
다형성  (1) 2025.01.16
JAVA- 클래스 강의  (0) 2025.01.10