티스토리 뷰
Goal
- Collection의 하위 인터페이스인 List 인터페이스에 대해 알아본다
1. List 인터페이스
- 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스
- 배열의 기능을 구현하기 위한 메서드가 선언됨
- ArrayList, Vector, LinkedList
1-1 ArrayList와 Vector
- 객체 배열 클래스
- Vector는 자바 2부터 제공된 클래스, 현재는 ArrayList가 더 최적화되어 있기 때문에 Vector를 많이 사용하지는 않음.
- Vector는 멀티 쓰레드 프로그램에서 동기화를 지원함.
* 동기화 (Synchronization) : 두 개의 쓰레드가 동시에 하나의 리소스에 접근 할 때 순서를 맞추어서 데이터의 오류가 방지하지 않도록 함.
- Capacity : 처음에 생성될 때 배열의 크기 (배열의 용량)
- size : 배열에 들어가 있는 element의 갯수
1-2 ArrayList 와 LinkedList
- 둘다 자료의 순차적 구조를 구현한 클래스
- ArrayList는 배열을 구현한 클래스로 논리적 순서와 물리적 순서가 동일 함.
- LinkedList는 논리적으로 순차적인 구조지만, 물리적으로는 순차적이지 않을 수 있음.
사진 1) LinkedList의 구조
사진 2) LinkedList에서 자료의 추가와 삭제
1-3 LinkedList의 사용 예제
package collection;
import java.util.LinkedList;
public class LinkedListTest {
public static void main(String[] args) {
LinkedList<String> myList = new LinkedList<String>();
myList.add("A");
myList.add("B");
myList.add("C");
System.out.println(myList);
myList.add(1, "D");
System.out.println(myList);
myList.removeFirst();
System.out.println(myList);
for (int i = 0; i < myList.size(); i++) {
String s = myList.get(i);
System.out.println(s);
}
}
}
'Java > Java 올인원 패키지' 카테고리의 다른 글
27. 내부 클래스 (Java) (0) | 2020.03.21 |
---|---|
25. Set 인터페이스 (Java) (0) | 2020.03.19 |
23. 컬렉션 프레임워크 (Java) (0) | 2020.03.19 |
22. 제네릭 (Java) (0) | 2020.03.19 |
21. String, Wrapper 클래스 (0) | 2020.03.19 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- 20200804
- 20200428
- 20200420
- 20200503
- 20200424
- 20200512
- chapter7
- 20200624
- 20200317
- 20200429
- 20200504
- 20200406
- 20200427
- 20200421
- likelion
- 20200502
- 20200403
- 20200330
- 20200425
- 20200417
- 20200622
- 20200319
- 생활코딩리눅스
- 20200510
- 백준
- chapter8
- 20200413
- 20201204
- 20200423
- 20200415
- Total
- Today
- Yesterday