List Collection이란? :: 행복한 프로그래머

posted by 쁘로그램어 2018. 5. 23. 03:26

배열은 index의 갯수가 정해지면 절대 수정할 수 없지만,

List, ArrayList는 index의 제한이 없는 배열이다.


List는 객체를 일렬로 늘어놓은 구조를 가지고 있습니다.

객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동 인덱스가 부여되고 인덱스로 객체를 검색, 삭제할 수 있는 기능을 제공합니다.


# Vector

* ArrayList의 구형버전이며, 모든 메소드가 동기화 되어있음

* 잘 쓰이진 않음


# ArrayList

* 상당히 빠르고 크기를 마음대로 조절할 수 있는 배열

* 단방향 포인터 구조로 자료에 대한 순차적인 접근에 강점이 있음


# LinkedList

* 양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 빠른 성능을 보장.

* 스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰임


# List 선언 및 사용

List<String> list = new ArrayList<String>();

--> String type의 인스턴스를 List타입으로 저장하겠다는 의미. 


객체 추가는 add() 메소드를 사용하고, 객체를 찾아올 때는 get() 메소드를 사용합니다.

그리고 객체 삭제는 remove() 메소드를 사용합니다.


# ExArrayList.java

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

 

public class ExArrayList {

 

    public static void main(String[] args) {

        List<String> listA = new ArrayList<String>();

         

        listA.add("김삿갓");

        listA.add("홍아리");

        listA.add(new String("홍길동"));

         

        listA.add(1, "1번째 요소값");

        

        System.out.println(listA);

         

        // 인덱스를 통한 조회

        String element0 = listA.get(0).toString();

        String element1 = listA.get(1).toString();

        String element3 = listA.get(2).toString();

 

        //Iterator 통한 전체 조회

        Iterator iterator = listA.iterator();

        while (iterator.hasNext()) {

            String element = (String) iterator.next();

        }

 

        //for-loop 통한 전체 조회

        for(Object object : listA) {

            String element = (String) object;

        }

         

        // 홍길동 앞에 값 추가

        int index = listA.indexOf("홍길동");

        listA.add(index, "홍길동 앞에 값 추가");

 

        // 존재 여부 확인

        System.out.println(listA.contains("홍길동"));

         

        // 값 삭제하는 방법

        System.out.println(listA.remove(0));

        System.out.println(listA.remove("홍길동"));

    }

}


※ 참고 사이트 ※

http://palpit.tistory.com/654

http://mainia.tistory.com/2323

http://arabiannight.tistory.com/entry/324?category=540115

★https://opentutorials.org/module/1335/8711

http://dreamzelkova.tistory.com/entry/%EB%A6%AC%EC%8A%A4%ED%8A%B8List

http://pshcode.tistory.com/82

http://ande226.tistory.com/23

'Java > Java' 카테고리의 다른 글

Map Collection이란?  (0) 2018.05.23
Set Collection이란?  (0) 2018.05.23
컬렉션 프레임워크(Collection Framework)란?  (0) 2018.05.23
향상된 for문 사용하기  (0) 2018.05.20
GSON @SerializedName이란?  (0) 2018.05.20