반응형

순서대로저장, 중복허용

 

Array VS List

 

배열: 인덱스로인해 바로 찾을 수 있다. 

리스트 : 순서를 중요하게 여김.

 

 

-추가할때

배열 : 덮어쓰기

리스트 : 

-삭제할때

리스트:비어있는 데이터가 없음

배열: 삭제하더라도, 4번의 값이 바뀌지 않음. 유지. 3은 비어있음

 

 

리스트 기능

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

모든 데이터에 접근할 수 있는 기능

 

언어별 비교

C:리스트 지원안함.

자바스크립트:C와 닮음. 자바스크립에서는 배열이 리스트이기도 하다

. splice메소드를 이용해 첫번째인자: 인덱스3번을 받고 두번째인자:1번인 40을 제거하여 50앞으로 넘어옴

파이썬: 배열 X 리스트O, 리스트가 배열이다라고 얘기 할수도 있다.

POP을 이용해서 제거, 50이 한칸땡겨짐

최근의 언어는 리스트를 기본적으로 지원한다.

 

자바: 두개 다 지원하고, 분리 되어 있다.

package com.company;

import java.util.ArrayList;

public class Main {

    public static void main(String[] args){

        int i = 0;

        ArrayList alist = new ArrayList();
        alist.add(1);
        alist.add("2");
        alist.add(4);
        alist.add("hi");
        alist.add(1);

        while(alist.size() > i){
            System.out.println(alist.get(i));
            i++;
        }
    }
}

출력:
1
2
4
hi
1


 

더보기

궁금해서 ArrayList를 코드로 만들어보았다.

실습도 해볼겸?

일단 리스트는 신기하게도 int[] << 배열을 만들때 해주는것과는 사뭇 달랐다.

스트링도, 숫자도, 다 들어가는거 같았다.

그리고 다른점 하나 더는 length로 크기을 가져오는게 아니라, size을 사용한다.

 

그리고 get을 사용하면, 엘리멘트의 값을 가져온다.

 

while문을 사용해 배열을 가져올 떄는 size를 사용해보니 값이 5 라고 나왔다.

while(alist.size() > i){
            System.out.println(alist.size());
            i++;
            

출력 : 
5
5
5
5
5

 dLinked List와 Array List 비교

 

반응형

+ Recent posts