본문 바로가기

프로그래밍/자바

[자바/기본] List 란?

728x90
반응형
SMALL

이전 글  에 이어서 List 인터페이스에 대한 내용을 포스팅 하고자 한다.

List 란 & Why List?

  • 자바의 array의 한계를 극복하기 위해 만들어진 자료형
  • 저장된 요소들의 순서가 있고 데이터에 중복이 가능한 인덱스(index) 번호에 의해서 정렬됨 
    • array는 사이즈가 고정 되어있지만 List는 사이즈가 고정되어있지 않음 (동적으로 변한다는 표현 사용)
    • List의 어느 위치에서나 요소를 추가, 제거, 수정이 가능
    • 반복을 위한 메소드를 지원 (iterable)
  • 이전 글에서 확인 할 수 있듯이 List는 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용하는 인터페이스
  • 여러가지 구현 클래스가 있고 각 클래스는 다양한 기능 과 특징을 가지고 있다.
    • ArrayList
    • LinkedList
    • Vector
    • Stack

 

 

[자바/기본] Generic 이란?

이전글에 Wrapper 클래스에 이어서 Generic에 대해서 포스팅 하고자 한다. Generic 클래스란? generic의 사전적 의미는 일반적으로 라는 뜻 클래스의 멤버변수 혹은 메소드의 리턴 타입이나 매개변수의

jk25.tistory.com

 

[자바/기본] Wrapper 클래스란? (Boxing, UnBoxing)

Wrapper 클래스란? 자바의 기본 자료형 (primitive type)을 감싸는 클래스 기본자료형 : boolean, char, byte, short, int, long, float, double Wrapper : Boolean, Char, Byte, Short, Integer, Long, Float, Double 앞에가 대문자로 시작

jk25.tistory.com


List 인터페이스가 가지는 주요한 메소드

  • List인터페이스는 Collection 인터페이스를 상속받으므로, Collection 인터페이스의 메소드들 모두 사용 할 수 있다.

출처 : https://tcpschool.com/java/java_collectionFramework_list

 

예시

import java.util.List;
  • List를 사용하기 위해서는 util에서 import 해주어야 한다.
  • List 대신 * 를 통해 util에 있는 모든 package들을 import받을 수 있다.
import java.util.*;

public class Main {
    public static void main(String[] args) {
       List<String> l1 = Collections.emptyList();   // 빈 List
        System.out.println(l1.getClass());  //class java.util.Collections$EmptyList

        // 해당 메소드는 ArrayList로 생성된다.
       List<String> l2 = Arrays.asList("hihi", "byebye");
        System.out.println(l2.getClass());  // class java.util.Arrays$ArrayList
        
        // List는 인터페이스이기 때문에 new 생성가 가능은 하지만 안에 인터페이스 메소드들을 "구현"해주어야 한다.
        //List<String> l3 = new List<String>() {}
    }
}

 

 

728x90
반응형
LIST