본문 바로가기
Programming/자료구조

List의 개념

by devpine 2019. 4. 10.
반응형

가장 중요한 두가지는

  1. 데이터가 순서대로 저장된다.

  2. 중복 저장을 허용한다.

 

  • Array 와 List 비교

List는 데이터가 연속되어 있다!

 

추가할때 어떤 다른 양상을 보이는가?

배열: 값 덮어쓰기

리스트: 한칸 밀기

 

삭제할때는?

배열: 비게 됨

리스트: 한칸 당기기

 

  • 리스트의 기능은?

처음, 끝, 중간에 엘리먼트를 추가 / 삭제

리스트에 데이터가 있는지 확인

모든 데이터에 접근 가능

 

  • Java의 배열과 리스트

배열: 

int[] numbers= {1,2,3,4,5};

리스트: 

ArrayList numbers= new ArrayList();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);

 

  • Java는 리스트를 두 가지 지원한다

ArrayList추가 / 삭제가 느리다, 인덱스 조회가 빠르다

LinkedList추가 / 삭제가 빠르다, 인덱스 조회가 느리다

 

 

(자바로 배우는 자료구조로 공부하며 개인적으로 필기하는 글입니다.)

https://programmers.co.kr/learn/courses/17/lessons/803

 

자바로 배우는 자료구조(with 생활코딩) - 리스트(List)의 개념 | 프로그래머스

리스트(List)의 개념 배열은 데이터를 그룹핑해서 다수의 데이터를 효율적으로 관리하는 데이터 스트럭쳐입니다. 배열의 가장 큰 특징은 인덱스가 있다는 점이지요. 이 인덱스는 데이터를 매우 빠르게 가져옵니다. 하지만 인덱스를 써 데이터를 가져오려면 각 데이터의 인덱스 값이 고정되어야 합니다. 또 어떤 엘리먼트를 삭제하면 삭제된 데이터가 있던 자리는 비워둬야 해 메모리가 낭비됩니다. 또 배열에 데이터가 있는지 없는지 항상 확인해야 합니다. 리스트는 배열의 장

programmers.co.kr

 

반응형

'Programming > 자료구조' 카테고리의 다른 글

ArrayList  (0) 2019.04.10
Array (배열) - Java API  (0) 2019.04.10
Data Structure란  (0) 2019.04.10
[자료구조] 큐(Queue)  (0) 2019.02.15
[자료구조] 스택(Stack)  (0) 2019.02.15

댓글