JAVA Collection List Interface

한시삼십사분·2021년 11월 14일

자료구조 JAVA

목록 보기
2/16
post-thumbnail
  • List Interface는 선형 자료구조.
  • int[] = new int[10]; 는 배열인데 크기가 정적.
  • 배열의 기능 + 동적 크기 할당이 합쳐진 자료구조.

List Interface의 Class

  1. ArrayList
  2. LinkedList
  3. Vector (+ Vector를 상속받은 Stack)

List Interface의 대표적인 메소드


출처(https://st-lab.tistory.com/142)

ArrayList

  • 요소접근에 뛰어난 성능.
  • 중간에 요소가 삽입, 삭제될 경우 그 뒤 요소들이 밀리거나 당겨져야 하기 때문에 삽입, 삭제에서 비효율적.

LinkedList

  • Node(노드): 데이터와 주소로 이루어진 클래스
  • 이전 Node와 다음 Node 끼리 연결
  • 검색 시 처음부터 원하는 노드가 나올 때 까지 연결된 노드들을 모두 방문해야하니 검색 효율이 낮음.
  • Node 삭제, 삽입 시 링크를 끊거나 연결만 하면 되기 때문에 효율이 좋음.

Vector

  • 동기화를 지원하는 ArrayList.
  • 멀티 쓰레드에서는 안전하지만, 단일 쓰레드에서도 동기화를 하기 때문에 ArrayList에 비해 성능이 약간 느림.

Stack

  • Vector Class를 상속받음.
  • LIFO(Last In First Out)의 자료구조.

객체 생성 방법

 T = TYPE

ArrayList<T> arraylist = new ArrayList<>();
LinkedList<T> linkedlist = new LinkedList<>();
Vector<T> vector = new Vector<>();
Stack<T> stack = new Stack<>();
//stack 선언 다른 방법
Vector<T> stack = new Stack<>();
profile
인간은 망각의 동물이라지만 이건 너무한 거 아니냐고

0개의 댓글