[자바] Array / List / ArrayList / Arrays

Yoon Seo Jin·2024년 1월 18일
0

Java

목록 보기
4/7
post-thumbnail

Array

int[] intArray = new int[3];

가장 기본적인 배열이다.
'인덱스와 인덱스에 대응하는 데이터들로 이루어진 연속적인 자료 구조'라고 「명품 자바 프로그래밍」 교재에선 설명한다.

  • 고정 크기를 갖는다는 특징이 있다.
  • 실무에선 ArrayList를 더 자주 사용한다고 한다.

List

java.util 패키지에서 제공하는 컬렉션 인터페이스 중 하나이다.
(이를 구현하는 클래스로 ArrayList, Vector, LinkedList가 있다.)
즉, 기능을 구현할 수 있도록 메서드들만 작성되어 있단 의미이다.

  • 가변 크기를 갖는다는 특징이 있다.
  • 인터페이스임에도 불구하고, 'List.of()' 메소드를 사용하면 객체 생성 및 요소 저장이 가능하다!
    - 그러나 이 방식을 사용할 경우 길이가 고정되어, 추가/삭제가 불가능해진다.
    (ImmutableCollections를 return)
    변경 시도 시 UnsupportedOperationException 에러를 발생시킨다.

ArrayList

List 인터페이스를 구현하는 컬렉션 클래스 중 하나이다. (이름 그대로 배열+리스트)
generics 기법으로 만들어져 있다. -> Object 저장

  • 실무에서 가장 자주 사용된다!
  • 가변 크기이나, 크기 확장 시 새 배열 생성 -> 기존 배열 복사 의 비효율적 과정을 거친다
    => 생성 시 충분한 크기를 지정해 생성!

Arrays

java.util.Arrays 클래스이다.
이 클래스의 멤버 메소드는 모두 static 타입이므로 객체 생성 없이 클래스명만으로도 바로 사용이 가능하다. (≒ Math 클래스)

주요 메소드

  • asList() : 객체 배열을 List로 변환
    List<Integer> list = Arrays.asList(array);
  • sort()
  • binarySearch()
  • copyOf()
  • fill
  • equals()
  • toString()
  • copyOfRange()
  • hashCode()
  • stream()

감상

💡 '고통받는다' 님의 네이버 블로그 포스팅에서 설명된 대로, 파이썬의 List와 헷갈려 List와 ArrayList가 혼동되었던 것 같다.

출처

참고 자료

profile
this blog is synchronized w/ notion; currently not accessible

0개의 댓글