Java 12일차..ArrayList

박상우·2022년 8월 4일
post-thumbnail

ArrayList

ArrayList[E] : E 타입만 가지는 ArrayList
1. E에 대한 제네릭(Generic) 타입을 가지는 ArrayList
2. 제네릭(Generic) : 어떠한 클래스/인터페이스에 대해 동적인 타입을 지원하기 위해 사용한다.
3. List 자료 구조의 일종이다. (ArrayList , Vector , LinkedList)
4. ArrayList는 그 원소로서 지정한 타입만 받을 수 있다. → <> 안에 원소인 타입만 받는다.

  • 일반 배열과 달리 원소에 대한 추가/삭제/조회 등이 매우 용이하다.
  • 그 외 존재 의의나 기능 등은 일반 배열과 유사하다.
  • 이 때 E는 레퍼런스 타입이어야 함으로 기초타입(int, long등) 사용이 불가능 하다.
  • {int → Integer}, {long → Long}, {boolean → Boolean} => 대문자로 사용되어집에 따라 참조타입이 된다.(참조타입은 항상 대문자로 시작한다.)

메서드(Method) :

  • add(E) : E타입의 객체를 추가한다.
  • get(i) : 정수인 x 번째 인덱스를 가지는 원소를 반환한다. 이때 인덱스는 기본 배열의 것과 같다.
  • set(i, E) : 정수인 i번째 인덱스에 있는 값을 전달된 E객체로 대체한다.
  • indexOf(E) : ArrayList가 가지고 있는 원소들 중 전달된 E객체와 일치하는 "첫번째" 원소의 인덱스 번호를 반환한다.
    : 만약 그러 한 것이 없다면 -1을 반환한다.
  • lastIndexOf(E) : indexOf(E)와 기능은 유사하나 첫번째가 아닌 "마지막" 원소의 인덱스를 돌려준다.
  • size() : ArrayList의 길이를 돌려준다. 일반 배열의 length와 속성이 같다.
  • remove(i) : 정수이 i 번째 인덱스를 삭제한다. 단 뒤에 있는 원소들의 인덱스는 당겨진다.
    !!!!값 자체로도 삭제가 가능하다. ex) "b"
  • remove(E) : ArrayList가 가지고 있는 원소중 전달된 E객체와 일치하는 "첫번째" 원소를 제거한다.
  • clear() : ArrayList가 가진 모든 원소를 제거한다.
  • contain(E) : ArrayList가 전달된 E객체를 포함하고 있는지 여부를 반환한다.
  • containsAll(ArrayList) : ArrayList가 전달된 또다른 E 타입의 ArrayList가 가진 원소들을 모두 포함하고 있는지 여부를 반환한다.
  • isEmpty() : 값이 하나라도 없는가에 대한 여부를 반환한다.

예제 1.

위의 사진과 같이 numbers라는 List변수에는 1부터 99까지의 인덱스 값을 통해 대입된 값들이 있다.
numbers ArrayList를 통한 홀수값과 짝수 값을 구하여라.

for문을 구동할때 동적인 코딩을 위해서 전체 길이가 될만한 값을 size(), 혹은 length() 등으로 설정해야 한다.

profile
백엔드 개발자가 되기 위한 여정

0개의 댓글