Language/JAVA

#ArrayList + List

paran21 2022. 1. 17. 09:42

ArrayList

  • List 인터페이스를 상속받은 클래스로 크기가 가변적으로 변하는 선형리스트
  • 일반적인 배열과 같은 순차리스트이며, 인덱스로 내부의 객체를 관리한다.
  • 객체들이 추가되어 저장 용량(capacity)을 초과한다면 자동으로 부족한 크기 만큼 저장 용량이 늘어난다. → LinkedList와의 차이(https://devlog-wjdrbs96.tistory.com/64)
  • import java.util.ArrayList;

 

List선언

  • List<String> list = new ArrayList<>();
  • List<String> list = Arrays.asList(new String[]{"a","b","c"});

 

ArrayList 선언

  • ArrayList array = new ArrayList(); //타입 미설정 object로 선언
    • 값을 뽑아내기 위해 캐스팅(Casting)연산이 필요하기 때문에 추천하지 않음, 타입을 명시해 주는 것이 좋다.
  • ArrayList<객체> array = new ArrayList<객체>();
  • ArrayList<Integer> array = new ArrayList<Integer>();
  • ArrayList<Stringer> array = new ArrayList<Stringer>();

------참고자료

  • List<Object> list = new ArrayList<Object>();  → List라는 인터페이스로 선언(더 선호)
    • ArrayList<Object> list = new ArrayList<Object>();  → ArrayList라는 구현체 클래스로 선언
  • 다형성을 지원하기 위해서임 → 처음부터 변경에 유연한 구조로 미리 설계
    • LinkedList로 변경이 필요한 경우 ArrayList로 선언했다면,
    • 선언된 모든 부분을 LinkedList로 변경 + ArrayList에만 지원하는 메소드 사용 시 더이상 사용불가
    • List로 선언한 경우 선언부만 변경하면 됨.
  • 대부분 ArrayList에만 제공하는 메소드를 쓰지 않고, List에서 제공하는 메소드까지 사용하기 위함.
  • 참고: https://bibi6666667.tistory.com/236

 

메소드

array.add() : 값 추가

array.remove(index) : 값 제거 → 제거 후 인덱스가 앞으로 1씩 당겨짐

array.clear() : 모든 값 제거

 

array.size() : 크기 구하기

array.get(index) : 특정 index값 출력

 

array.indexOF(d) : 해당 값이 있는 index출력

array.contains(d) : 해당 값이 잇는지 검색 true/false로 출력

 

array.isEmpty() : ArrayList가 비어있는지 확인

 

 

참고자료

https://coding-factory.tistory.com/551

 

[Java] 자바 ArrayList 사용법 & 예제 총정리

ArrayList란? ArrayList는 List 인터페이스를 상속받은 클래스로 크기가 가변적으로 변하는 선형리스트입니다. 일반적인 배열과 같은 순차리스트이며 인덱스로 내부의 객체를 관리한다는점등이 유

coding-factory.tistory.com

https://devlogofchris.tistory.com/42

 

[JAVA] LIST와 ArrayList란?

Array(배열) 여러 데이터를 하나의 이름으로 그룹핑해서 관리 하기 위한 자료구조. index와 값의 쌍으로 구성 index는 값에 대한 유일무이한 식별자(마치 주민번호)( 리스트에서 인덱스는 몇 번째

devlogofchris.tistory.com