컬렉션 프레임웍
ArrayList
- Vector를 개선한 것으로 컬렉션 프레임웍에서 가장 많이 사용되는 컬렉션 클래스
- List인터페이스를 구현하기 때문에 데이터의 저장순서가 유지되고 중복을 허용한다는 특징이 가진다.
- Object배열을 이용해서 데이터를 순차적으로 저장한다.
- 첫 번째로 저장한 객체는 Object배열의 0번째에 저장되고 두 번째로 저장하는 객체는 1번째 위치에 저장된다. 더 이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존의 배열에 저장된 내용을 새로운 배열로 복사한 다음에 저장된다.
- 사용 방법
ArrayList < 타입 > 이름 = new ArrayList < 타입 >();
ArrayList<Integer> v = new ArrayList<Integer>(); // 생성, int[] arr = new int[10]
v.add(1); // 배열요소에 값 저장, arr[0] = 1;
System.out.println(v.get(0)); // 배열요소 출력
System.out.println(v.size()); // 배열 사이즈 출력
import java.util.ArrayList;
public class ArrayTest01 {
public static void main(String[] args) {
ArrayList<Integer> v = new ArrayList<Integer>(); // int[] arr = new int[10]
v.add(1); //arr[0] = 1;
System.out.println(v.get(0));
System.out.println("현재 리스트에 저장된 요소의 갯수 => "+v.size()); // arr.length();
for(int i=1; i<=10; i++) { // 사이즈가 자동으로 늘어남
v.add(i);
}
System.out.println("현재 벡타에 저장된 요소의 갯수 => "+v.size());
System.out.println("벡터의 저장된 0번 요소 => "+v.get(0));
int size = v.size(); // 이런식으로 작업해야 함!!! 변수에 담아서
for(int i=0; i<v.size(); i++) {
System.out.println(v.get(i));
}
System.out.println("-----------------향상된 for문(foreach)-------------------");
// 향상된 for문(foreach)은 collection을 탐색할 때 편리하게 사용
for(int data : v) { // for문이 돌 때마다 하나씩 꺼내서 쓰겠다는 뜻
System.out.println(data);
}
}
Vector
import java.util.Vector;
public class VectorTest1 {
public static void main(String[] args) {
Vector<Integer> v = new Vector<Integer>(); // int[] arr = new int[10] //<> 안에 어떤 타입이 와도 됨(Objesct이기 때문에)
//v.add("java");
v.add(1); //arr[0] = 1;
System.out.println("현재 벡타에 저장된 요소의 갯수 => "+v.size()); // arr.length();
System.out.println("현재 벡터의 용향 => "+v.capacity());
for(int i=1; i<=10; i++) { // 사이즈가 자동으로 늘어남
v.add(i);
}
System.out.println("현재 벡타에 저장된 요소의 갯수 => "+v.size());
System.out.println("현재 벡터의 용향 => "+v.capacity());
System.out.println("벡터의 저장된 0번 요소 => "+v.get(0));
int size = v.size(); // 이런식으로 작업해야 함!!! 변수에 담아서
for(int i=0; i<v.size(); i++) {
System.out.println(v.get(i));
}
System.out.println("-----------------향상된 for문(foreach)-------------------");
// 향상된 for문(foreach)은 collection을 탐색할 때 편리하게 사용
for(int data : v) { // for문이 돌 때마다 하나씩 꺼내서 쓰겠다는 뜻
System.out.println(data);
}
}
}
컬렉션 프레임웍의 핵심 인터페이스
1. List : 순서O, 중복O
2. Set : 순서X, 중복X
3. Map : 순서X, 중복 - 키X, 값O
컬렉션 - List, Set
Map
스택과 큐
* 스택(stack)
: 데이터를 일시적으로 쌓아 놓는 자료구조
후입선출(LIFO : Last In First Out) => 가장 나중에 넣은 데이터를 가장 먼저 꺼냄
- push : 저장
- pop : 추출
- peek : 맨 위에 데이터 보기
* 큐(que)
: 데이터를 일시적으로 쌓아 놓는 자료구조
선입선출(FIFO : First In First Out) => 가장 먼저 넣은 데이터를 가장 먼저 꺼냄
- offer : 저장
- poll : 추출
'JAVA' 카테고리의 다른 글
2022-10-24 *배열로 스택클래스 구현하기 (0) | 2022.10.24 |
---|---|
2022-10-24 Arrays클래스, Stack / Queue, 검색 알고리즘 - 선형검색, 이진검색, 정렬 알고리즘 - 단순 선택 정렬 (0) | 2022.10.24 |
2022-10-21 java.lang패키지와 유용한 클래스(API활용법) (0) | 2022.10.22 |
2022-10-18 객체지향언어 - 인터페이스, 예외처리방법 1. try-catch / 2. 예외선언하기(throw, throws) (0) | 2022.10.22 |
2022-10-17 객체지향언어 - 다형성. 추상클래스, 제어자 fanal (0) | 2022.10.18 |
댓글