JAVA

List 인터페이스

Stater 2019. 10. 8. 09:30

List 인터페이스

 

Collection 하위 인터페이스

- 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스

- 배열의 기능을 구현하기 위한 메서드가 선언됨

Ex) ArrayList,Vector,LinkedList

 

ArrayList 와 Vector (객체 배열클래스)

Vector 는 자바 2부터 제공된 클래스, 보편적으로는 ArrayList를 더 많이 사용

 

Vector은 멀티 쓰레드 프로그램에서 동기화를 지원

->동기화(Synchronization) 두개의 쓰레드가 동시에 하나의 리소스에 접근 할 때 순서를 맞추어서 데이터의 오류가 방지하지 않도록 함

 

capacity 와 size는 다른 의미

 

ArrayList 와 LinkedList

- 둘다 자료의 순차적 구조를 구현한 클래스

- ArrayList는 배열을 구현한 클래스로 논리적 순서와 물리적 순서가 동일함

- LinkedList는 논리적으로 순차적인 구조지만, 물리적으로는 순차적이지 않을 수 있다.

LinkedList 구조 

 

LinkedList 구조

 

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.removeLast();
		System.out.println(myList);
		
		
		for(int i =0; i<myList.size();i++) {
			String s= myList.get(i);
			System.out.println(s);
		}
	}

}
반응형

'JAVA' 카테고리의 다른 글

set 인터페이스  (0) 2019.10.10
Stack과 Queue  (0) 2019.10.09
제네릭  (0) 2019.10.07
컬렉션 프레임워크(Collection Framework)  (0) 2019.10.06
String 클래스  (0) 2019.10.05