[JAVA] List - ArrayList

2020. 4. 12. 16:42JAVA

List ?

배열과 비슷한 자료형 이며, 객체를 인덱스로 관리하여 객체 추가시 자동 인덱스가 부여된다.

객체를 인덱스로 관리하기 때문에 인덱스를 통해 데이터 삭제, 검색이 가능하다.

 

List 의 특징

  1. 동일한 값을 저장할수 있다.
  2. Null 값도 저장할수 있다.
  3. 다양한 메서드와 함수로 사용이 편리하다.

 

배열과 List 의 차이점

  1. 배열(Array)의 크기는 정해져 있지만 리스트는 크기를 변경할수 있기 때문에 훨씬 유연하다
  2. 리스트는 기본적으로 제공하는 메서드와 함수가 다양하여 편의성을 가지고 있다.
  3. CPU 처리 속도 에서도 차이점을 보이는데 배열이 리스트 보다 훨씬 빠르다.

배열의 차이점에서도 언급했듯이 프로그래밍 할때는 배열의 크기를 알수 있는 상황 보다는 모르는 상황이 더많다.

이렇게 크기를 정할수 없을경우에는 List 를 사용하는게 유용하다.

 

ArrayList 객체 생성

ArrayList<취급할 파라미터> list명 = new ArrayList<취급할 파라미터>();

 

 

1.add : 데이터 추가

데이터 추가 방식에는 두가지가 있다.

인덱스를 지정하고 데이터를 추가 하는 방식

ex) list명.add(인덱스,데이터);

인덱스를 지정하지 않고 데이터를 추가 하는 방식

ex) list명.add(데이터);

2.get : 데이터 조회

데이터를 조회 할 때는 조회 하고 싶은 데이터 인덱스 값을 입력한다.

ex) list명.get(인덱스);

3.size : 데이터 크기 조회

배열에서 length 랑 다른점은 Array.length = 배열의 길이, list.size = 저장된 방의 개수

ex) list명.size();

4.contains : 찾고자 하는 데이터 존재 유무 판단

contains 에 찾고자 하는 데이터 값을 넣어준다.

contains 에 반환 값은 찾고자 하는 데이터가 존재 할 경우 true 아닐경우 false  를 반환한다.

ex) list명.contains(데이터);

5.remove : 데이터 삭제

데이터 추가 와 동일하게 두가지 방법이 있다.

삭제할 데이터에 인덱스를 지정하는 방식과 데이터 를 입력하는 방식이 있다.

ex) list명.remove(삭제할 데이터);

      list.remove(식제할 데이터 인덱스);

추가적으로 list 에서 인덱스를 자동으로 정렬해준다.

예를들어, 2번째 인덱스를 삭제할 경우 3번째 인덱스 값이 자동으로 2번째 인덱스 값으로 정렬이 된다.

'JAVA' 카테고리의 다른 글

[JAVA] 오버로딩(OverLoading )  (3) 2020.05.07
[JAVA] Map(HashMap)  (1) 2020.04.22
[JAVA] 배열(Array)의 응용  (0) 2020.04.07
[JAVA] 배열(Array)  (0) 2020.04.07
[JAVA] 변수(variable)의 종류  (0) 2020.03.26