HoneyBee

[JAVA 개념공부] List와 ArrayList의 차이 본문

Language/Java

[JAVA 개념공부] List와 ArrayList의 차이

아포갸토 2021. 10. 25. 11:34

오늘도 돌아온 꼬꼬댁 개념시간

 

백준 알고리즘 문제를 풀면서 자료구조에 대한 고민을 정말 많이하게 된다. 하나부터 열까지 내가 알고 있던 지식이 맞는지 혹은 빠진 지식이 없는지 점검하게 되는데 그중에 List와 ArrayList에 대한 내용이 있었다.

 

간단하게 코드와 함께 둘의 차이를 느껴보자

1. List

  • 인터페이스 , 포괄적인 기능을 수행할수 있음.

예시코드

  List<String> list = new ArrayList<>();
  System.out.println(list.getClass());
  list = new LinkedList<>();
  System.out.println(list.getClass());

결과

class java.util.ArrayList
class java.util.LinkedList
  • List의 특성은 최초로 ArrayList로 생성하였지만 추후에 다시 LinkedList로 선언 하였을때에는 타입이 변경되어 생성된다.
  • Generic(제네릭)에 대한 개념



2. ArrayList

  • 클래스

예시코드

  ArrayList<String> arrList = new ArrayList<>();
  System.out.println(arrList.getClass());
  arrList = new LinkedList<>();

결과

컴파일 에러
Cannot infer type arguments for LinkedList<>

참조링크

https://ko.gadget-info.com/difference-between-list

https://yoon-dailylife.tistory.com/7