IT/Programming / / 2023. 4. 20. 13:30

[JAVA] Collection Framework 사용 예제

반응형
package dayday14;
/*
 * <Collection Framework>
 *  - 대량의 데이터를 여러가지 자료구조 형태로 저장/처리할 수 잇도록 지워하는 framework
 *  - 배열의 단점을 극복하기 위해 만들어짐
 *    1) 갯수가 정해저 있다. -> 개수를 늘이거나 줄일수 없다.
 *    2) 중간의 원소를 삽입/삭제할대 비효율적이다.
 *       -> 연결리스트..
 *    3) 검색이 불편하다. 
 *    4) 일렬로 밖에 저장이 안되어 여러 처리가 불가능
 *  - 데이터가 책이면 자료구조는 책장..
 *  
 *  
 *  - 저장되는 원소들의 형태 : Object타입.(무슨 자료형이든 가능)
 *  - Collection은 계열의 종류
 *    1) List
 *    : 순서가 존재, 중복 저장 가능
 *    : List를 Implements한 Class들ㅌ
 *    	1) ArrayList Class *
 *    		: 개수 제한이 없는 배열 모양(default은 10칸)
 *          : 저장 속도가 빠르다.
 *   	2) LinkedList Class *
 *   		: 연결 리스트모양
 *   		: 저장속도 느리지만 탐색, 수정에 빠름
 *      	
 *      3) Stack Class
 *   	4) Vector Class
 *   		: ArrayList의 동기화 버전
 *    : List계열의 주요 메소드(위 클래스들의 메소드 이름은 모두 같다)
 *    	1) 추가 : add()
 *    	2) 수정 : set()
 *    	3) 삽입 : add()
 *    	4) 삭제 : remove()
 *    	5) 가져오기 : get()
 *    	6) 모두삭제 : clear()
 *      7) 검색 : contains()
 * 
 *    2) Set 
 *    : 순서가 없음, 중복 저장 안됨
 *    	1) HashSet
 *    	2) TreeSet
 *    	3) LinkedHashSet
 *    
 *    3) Map
 *    : Key와 Value가 쌍으로하는 원소 저장
 *    : Key를 통해 Value를 찾음
 *    : 검색을 용이하게 함.
 *    	1) TreeMap
 *    	2) HashMap
 *    	3) HashTable
 *    
 *     
 *    Collections 인터페이스 - extends List interface, Set interface, Map interface..
 *                        - 구현 - implements class 
 *                        		
 * 
 */
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
public class test03 {
	public static void main(String[] args) {
		//ArrayList a1 = new ArrayList(); //기본 10칸
		ArrayList a1 = new ArrayList(100); //100칸 초기생성..
		//a1이라는 책장이 만들어짐
		a1.add(1);
		a1.add(3.14);
		a1.add("피카츄");
		a1.add('가');
		a1.add(true);
		
		
		System.out.println(a1.toString());
		System.out.println(a1.size() + " 개");
		System.out.println("책장이 비었니? " + a1.isEmpty());
		System.out.println();
		
		//1. 0번에 라이츄데이터 삽입하겠다.
		//void add(Object element) - > element 원소 추가
		//void add(int index, Object element) - > index번의 element 삽입
		System.out.println("0번에 라이츄데이터 삽입하겠다.");
		a1.add(0,"라이츄");
		System.out.println(a1.toString());
		System.out.println(a1.size() + " 개");
		System.out.println();
		
		//2. 수정 [3]번째 데이터를 0으로
		//void set(int index, Object element) - > index번을 element로 수정
		System.out.println("수정 [3]번째 데이터를 0으로");
		a1.set(2, 0);
		System.out.println(a1.toString());
		System.out.println(a1.size() + " 개");
		System.out.println();
		
		//3. 꺼내오기
		//Object get(int index) - > index번의 원소를 불러온다.
		System.out.println("[5]번째 데이터를 꺼내겠다.");
		Object o = a1.get(4);
		System.out.println("불러온 데이터 : " + o);
		System.out.println();
		
		
		
		
		//피카츄 삭제
		//void remove(int index) - >  index의 원소를 삭제
		System.out.println("[4]번째 데이터를 삭제하겠다.");
		a1.remove(3);
		System.out.println(a1.toString());
		System.out.println(a1.size() + " 개");
		System.out.println();
		

		//void remove(Object o) - > 해당 객체와 같은 값을 갖는 객체 삭제
		System.out.println("'가' 데이터를 삭제하겠다.");
		a1.remove((Object)'가');
		System.out.println(a1.toString());
		System.out.println(a1.size() + " 개");
		System.out.println();
		
		//"라이츄"객체가 있는지 확인
		//Boolean contains
		System.out.println("라이츄가 있나 ? : " + a1.contains("라이츄"));
		System.out.println();
		
		//모든 객체 삭제
		//void clear();
		a1.clear();
		System.out.println("모든 데이터를 삭제하겠다.");
		System.out.println(a1.toString());
		System.out.println(a1.size() + " 개");
		System.out.println();
		
	}

}
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유