java 기초 탄탄~

리스트(List)

임종뚱 2019. 12. 1. 14:27

리스트는 배열과 비슷한 자료형으로 배열보다 더 편리한 기능을 많이 가지고 있다.

배열은 크기가 정해져 있어 예를 들어 배열의 크기를 10개로 정하면 10개 이상의 값을 담을 수 없다.

프로그래밍 시 크기를 알 수 있는 상황도 있지만 명확한 크기를  알 수 없는 경우가 더 많다. 이렇게 동적으로 자료형의 갯수가 가변하는 상황이라면 List를 사용하는 것이 유리하다.

 

ArrayList(List 자료형 중 가장 간단한 형태의 자료형)

 

 

add

한 야구선수가 총 3번의 투구를 150,28,177(km) 의 속도를 던졌다면 다음과 같은 코드로 작성할 수 있다.

add 메소드를 이용하여 투구 스피드를 저장

 

 

만약 첫 번쨰 위치에 "133"이라는 투구 스피드를 삽입하고 싶다면 아래와 같이 코딩한다.

 

만약 두 번쨰 위치에 133을 삽입할 경우에는 다음과 같이 코딩한다.

 

※ 자바는 J2SE 5.0 버전 이후부터 ArrayList<String> pitches = new ArrayList<String>(); 이런식으로 객체를 포함하는 자료형도 어떤 객체를 포함하는지에 대해서 명확하게 표현하는것을 권고하고 있다. 이클립스에서 위와 같이 코딩하면 명확한 타입을 명시하라는 warning이 표시될 것이다.

 

get

한 야구선수의 2번쨰 투구 스피드를 알고 싶다면 다음과 같이 코딩한다.

ArrayListd의 get 메소드를 이용하면 특정 인덱스의 값을 추출할 수 있다.

 

size

size 메소드는 ArrayList의 갯수를 리턴한다.

현재 pitches에 담긴 갯수에 해당되는 값이 출력될 것이다.

 

contains

contains 메소드는 리스트 안에 항목값이 있는지를 판별하여 그 결과를 boolean으로 리턴한다.

remove

remove 메소드에는 2개의 방식이 있다. (이름은 같지만 입력 파라미터가 다르다)

  1. remove(객체)
  2. remove(인덱스)

remove(객체)의 경우는 리스트에서 객체에 해당되는 항목을 삭제하고 삭제한 결과를 리턴한다.

수행결과는 다음과 같다.

"177" 항목이 성공적으로 삭제되고 true를 리턴한다.

 

remove(인덱스)의 경우는 해당 인덱스의 항목을 삭제하고 삭제된 항목을 리턴한다.

 

결과는 다음과 같다.

pitches의 첫번쨰 항목 "150"이므로 "150"이 삭제된 후 "150"을 리턴했다.