
우리가 컬렉션즈 프레임워크를 사용하는 이유는 간단해요
데이터를 자유자재로 다루기에 편하기 때문입니다
대표적인 예로 배열에 여러가지의 값을 담기에 아주 좋죠 근데 배열은 그 크기를 정해놓으면
바꿀수가 없습니다
그 크기를 넘어서면 인덱스 아웃오브 바운스 익셉션이 나올겁니다
그래서 나온것이 컬렉션즈 프레임워크에 있는 List 입니다
처음으로 알아볼것은 ArrayList입니다
public static void main(String[] args) {
ArrayList data = new ArrayList();
data.add("data1");
data.add("data2");
data.add("data3");
for (int i = 0; i < data.size(); i++) {
System.out.println(data.get(i));
}
}
배열과 다른것은 배열변수[인덱스] 로 가져와서 데이터를 출력하지만
ArrayList는 .get(인덱스); 로 가져옵니다
순차적으로 가져오는것이 특징이라 할 수 있고 배열과 유사하지만 배열과는 다릅니다 값을 얼마든지 넣을수 있고
얼마든지 제거할 수 있습니다
켤랙션즈 프레임워크는 크게는 컬렉션과 맵으로 나뉘고 컬렉션은 크게 세가지로 나뉩니다
바로 Set List Queue 이 세가지 중 가장 많이 쓰이는 것은 Set과 List입니다 ㅎㅎ
좀전에 보여드린 코드에 있는 ArrayList도 List 안에 있는것이죠
그리고 List와 Set은 거의 비슷하게 사용 가능한데 다른 부분이 하나 있습니다 List는 중복을 허용하고 Set은 중복을
허용하지 않습니다
이게 가장 큰 차이점 입니다 ㅎㅎ
이제 맵을 살펴봅시다
제 개인적인 생각으론 가장 많이 쓰인다 라고 봐도 무방할 정도로 엄청나게 많이 쓰입니다 ㅎㅎ
왜냐면 DB 데이터를 가져와서 담기에 아주 안성맞춤이거든요 ㅎㅎ
일단 Key Value 형태로 생겼습니다 JSON과 유사하죠
Key를 이용해서 Value를 가져오는 것인데 소스코드로 보시죠
public static void main(String[] args) {
HashMap<String, Integer> data = new HashMap<String, Integer>();
//우리반 수학점수 리스트
data.put("김나나", 10);
data.put("박누누", 14);
data.put("성아아", 16);
data.put("랄랄라", 60);
data.put("가나다", 60);
data.put("루라라", 80);
data.put("리리리", 50);
data.put("하하하", 90);
}
이와 같은 형태로 값을 집어넣습니다
가져올때는 반대로 System.out.println(data.get("하하하")); 입력하면 하하하 의 값인 90이 출력됩니다
이렇게 컬렉션즈 프레임워크는 아주 다양하게 쓰이고 많이 쓰이는 프레임워크입니다
이 내용이 왜 중요하냐면 알고리즘이나 자료구조를 컬렉션즈 프레임워크로 만들고 사용하기 때문입니다
코딩테스트 문제에 보면 자주 등장하는 탐색이나 정렬기법 등을 컬렉션즈 프레임워크로 구현하는것이 빈번하기
때문이기도 하고 여러분이 데이터를 다루기에 유용한 기능등을 제공하지 안쓸이유는 없다고 생각합니다
그리고 컬렉션즈 프레임워크의 구조는 검색한번 해보시는걸 추천합니다 ㅎㅎ 제가 만드려다가
나와있는게 너무많아서 이만 글을 줄입니다
'Developer > Java' 카테고리의 다른 글
[java]equals (0) | 2022.08.26 |
---|---|
[java] 제네릭 (0) | 2022.08.25 |
[java] 예외처리 (0) | 2022.08.18 |
[java]추상(abstract) (0) | 2022.08.18 |
[java] 접근제어자 (0) | 2022.08.16 |