public class 클랙스명<T> {...}
public interface 인터페이스명<T> {...}
자주 사용하는 타입의 인자와 의미
<T> Type
<E> Element
<K> Key
<N> Number
<V> Value
List 컬렉션 클래스 (실습)
- Array list 사용.
import java.util.ArrayList;
import java.util.List;
public class ListExam {
public static void main(String[] args){
//ArrayList<Integer> list01 = new ArrayList<>();
List<Integer> list = new ArrayList();
// 추가
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
// 중간삽입 - 값이 추가되면서 공간도 늘어남. 하나씩 밀림
list.add(5, 10);
list.add(1, 20);
// 치환
list.set(0,5);
list.set(4,13);
System.out.println(list);
->[5, ,20, 2, 3, 13, 5, 10]
// 삭제 - 공간도 삭제
list.remove(4);
list.remove(3);
System.out.println(list);
-> [5, 20, 2, 5, 10]
// 출력
for(int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + "\t");
}
System.out.println("\n--------------------------------");
for(int val : list) {
System.out.println(val + "\t");
}
System.out.println("\n--------------------------------");
//iterator 를 이용한 출력
Interator<Integer> iter = list.iterator();
whiile(iter.hasNext()) {
System.out.println(iter.next());
}
-> 5 20 2 5 10
--------------------------------
5 20 2 5 10
--------------------------------
5202510
}
}
LinkedList (중간 삽입, 삭제)사용. / ArrayList (단순 삽입, 삭제)사용.
컬렉션 프레임 워크
- 컬렉션 프레임 워크는 데이터를 다룰 때 사용되는 주요 자료구조를 말한다. 컬랙션은 기존의 List, Map, Set등의 자료 구조를 뜻하고 프레임워크는 클래스와 인터페이스를 묶어 놓은 개념입니다.
List 컬렉션
- 배열과 비슷하게 index로 객체를 관리합니다. 다만, 배열과는 다르게 크기의 제한이 없으며 삽입, 삭제, 변경의 기능이 자유롭습니다. List에는 대표적으로 ArrayList와 LinkedList가 있습니다.
ArrayList
- 데이터를 순차적으로 저장합니다. 데이터가 삽입될 때마다 크기가 증가하고 배열을 삭제하면 공간이줄어듭니다.index를 기준으로 값을 삽입하거나 추출합니다.
LinkedList
- Node 객체를 기반으로 데이터를 저장합니다. Node 객체는 데이터와 자신 다음에 올 데이터와 주소 값으로 가집니다.
ArrayList는 데이터를 출력하거나 검색할 경우에, LinkedList의 삽입과 삭제가 빈번할 경우에 사용하면 더 좋은 성능을 보여줍니다.