반응형
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();
}
}
반응형
'IT > Programming' 카테고리의 다른 글
[JAVA] System class 사용 예제 (0) | 2023.04.20 |
---|---|
[JAVA] Util package, Text Package class 사용 예제 (0) | 2023.04.20 |
[JAVA] LinkedList 사용 예제 (0) | 2023.04.20 |
[JAVA] Set Interface 사용 예제 (0) | 2023.04.20 |
[JAVA] Comparable, CompareTo 사용 예제 (0) | 2023.04.20 |