이번에는 자바 컬렉션(Collection)에 대해 정리 해보자.
컬렉션(Collection)이란?
- 컬렉션이란 많은 수의 데이터를 그 사용 목적에 적합한 자료구조로 묶어 하나로 그룹화한 객체를 의미한다.
- 예를 들어
ArrayList
,LinkedList
등이 존재한다.JCF(Java Collections Framework)란?
- 자바 컬렉션 프레임워크란 데이터를 저장하는 기본적인 자료구조들을 한 곳에 모아 관리하고 편하게 사용하기 위해서 제공하는 것을 의미한다.
- 아래 그림은 자바 컬렉션 프레임워크의 상속구조를 보여준다.
컬렉션은 크게 사용 용도에 따라 크게 List, Set, Map 4가지로 나눌 수 있다.
index
를 가지고 있어 조회 기능이 뛰어나다.// ArrayList 사용 예제
public class ArrayListExample {
public static void main(String[] args) {
// ArrayList 선언
ArrayList<String> umcCleaner = new ArrayList<>();
// ArrayList에 데이터 입력
umcCleaner.add("벡스");
umcCleaner.add("헤론");
umcCleaner.add("진로");
// 결과 출력
System.out.println("4기 동방 지키미 : " + umcCleaner);
// 1, 2번 데이터 제거
umcCleaner.remove(0);
umcCleaner.remove(0);
// 데이터 추가
umcCleaner.add("리우");
umcCleaner.add("리버");
// 하나씩 결과 출력
System.out.print("5기 동방 지키미 : ");
for(String member : umcCleaner) System.out.print(member + " ");
}
}
위의 코드의 결과는 다음과 같다.
ArrayList
에 비해 비효율적 // LinkedList 사용 예제
public class LinkedListExample {
public static void main(String[] args) {
// LinkedList 선언
LinkedList<String> umc5Manager = new LinkedList<>();
// 값 입력
umc5Manager.add("벡스");
umc5Manager.add("헤론");
// 결과 출력
System.out.println("4기 운영진 : " + umc5Manager);
// 1번 데이터 제거
umc5Manager.remove(1);
// 데이터 추가
umc5Manager.add("진로");
umc5Manager.add("리우");
umc5Manager.add("시미");
// 하나씩 결과 출력
System.out.print("5기 운영진 : ");
for(String member : umc5Manager) System.out.print(member + " ");
}
}
위의 코드의 결과는 다음과 같다.
index
로 접근 가능 // Vector 사용 예제
public class VectorExample {
public static void main(String[] args) {
// Vector 선언
Vector<String> bexBrother = new Vector<>();
// 값 입력
bexBrother.add("헤론");
bexBrother.add("진로");
bexBrother.add("메렁");
// 결과 출력
System.out.println("Bex's 형들 : " + bexBrother);
// 3번 데이터 제거
bexBrother.remove(2);
// 데이터 추가
bexBrother.add("리우");
bexBrother.add("시미");
bexBrother.add("망고");
// 하나씩 결과 출력
System.out.print("Bex's 형들 : ");
for(String member : bexBrother) System.out.print(member + " ");
}
}
위의 코드의 결과는 다음과 같다.
// HashSet 사용 예제
public class HashSetExample {
public static void main(String[] args) {
// HashSet 선언 및 데이터 입력
HashSet<String> umcCleaner = new HashSet<>();
umcCleaner.add("벡스");
umcCleaner.add("헤론");
umcCleaner.add("진로");
// Traversing elements
for (String s : umcCleaner) {
System.out.println(s);
}
}
}
위의 코드의 결과는 다음과 같다. 입력된 값이 정렬된 것을 볼 수 있다.
// TreeSet 사용 예제
public class TreeSetExample {
public static void main(String[] args) {
// TreeSet 변수 선언 및 데이터 입력
TreeSet<String> umcManager = new TreeSet<>();
umcManager.add("벡스");
umcManager.add("진로");
umcManager.add("시미");
umcManager.add("리우");
// Traversing elements
Iterator<String> iter = umcManager.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
}
}
위의 코드의 결과는 다음과 같다.
// HahsMap 사용 예제
public class HashMapExample {
public static void main(String[] args) {
// HashMap 선언 및 데이터 입력
HashMap<String, String> umcManagement = new HashMap<>();
umcManagement.put("회장", "벡스");
umcManagement.put("총무", "리우");
umcManagement.put("스프링 파트장", "진로");
umcManagement.put("웹 파트장", "시미");
umcManagement.put("안드로이드 파트장", null);
// 첫번째 결과 출력
System.out.println("이번 5기 회장은 " + umcManagement.get("회장"));
// 전체 결과 출력
for(Map.Entry<String, String> e : umcManagement.entrySet())
System.out.println(e.getKey() + " : " + e.getValue());
}
}
위의 코드의 결과는 다음과 같다.
// HahsMap 사용 예제
public class TreeMapExample {
public static void main(String[] args) {
// TreeMap 선언 및 데이터 입력
TreeMap<String, String> umcManagement = new TreeMap<>();
umcManagement.put("회장", "벡스");
umcManagement.put("총무", "리우");
umcManagement.put("스프링 파트장", "진로");
umcManagement.put("웹 파트장", "시미");
// 첫번째 결과 출력
System.out.println("이번 5기 회장은 " + umcManagement.get("회장"));
// 전체 결과 출력
for(Map.Entry<String, String> e : umcManagement.entrySet())
System.out.println(e.getKey() + " : " + e.getValue());
}
}
위의 코드의 결과는 다음과 같다. HashMap과 달리 Key에 따라 정렬된 순서로 나온것을 알 수 있다.
// HashTable 사용 예제
public class HashTableExample {
public static void main(String[] args) {
// HashMap 선언 및 데이터 입력
Hashtable<String, String> umcManagement = new Hashtable<>();
umcManagement.put("회장", "벡스");
umcManagement.put("총무", "리우");
umcManagement.put("스프링 파트장", "진로");
umcManagement.put("웹 파트장", "시미");
// umcManagement.put("안드로이드 파트장", null); 에러 발생
// 첫번째 결과 출력
System.out.println("이번 5기 회장은 " + umcManagement.get("회장"));
// 전체 결과 출력
for(Map.Entry<String, String> e : umcManagement.entrySet())
System.out.println(e.getKey() + " : " + e.getValue());
}
}
위의 코드의 결과는 다음과 같다.
[JAVA] 컬렉션(Collection)이란?(추가 : Collecion의 요소 상세설명)
[JAVA] Java 컬렉션(Collection) 정리
[JAVA] Java Collection Framework (JCF)의 이해.
정리가 잘 된 글이네요. 도움이 됐습니다.