int[] numbers = {1,2,3,4,5};
String[] weeks = {"월","화","수","목","금","토","일"}
2차원, 3차원 등의 다차원 배열도 가능하다.
String[] weeks = new String[7]; // 배열 길이에 대한 숫자값을 꼭 써야한다.
weeks[0] = "월";
weeks[1] = "화";
weeks[2] = "수";
weeks[3] = "목";
weeks[4] = "금";
weeks[5] = "토";
weeks[6] = "일";
String[] weeks = new String[]; => 컴파일 오류
이 방법은 배열의 길이를 먼저 설정하여 배열 변수를 먼저 생성한 다음 그 값을 후에 대입하는 방법이다. 이처럼 초기값이 없이 배열 변수를 만들때에는 반드시 길이에 대한 숫자값이 필요하다.
리스트는 배열과 비슷한 자바의 자료형으로 배열 보다 편리한 기능을 많이 가지고 있다.
리스트와 배열의 가장 큰 차이는 리스트는 크기가 정해져 있지 않고 동적으로 변한다는 것이다.
List 자료형에는 ArrayList, Vextor, LinkedList 등의 list 인터페이스를 구현한 자료형이 있다.
ArrayList를 사용하기 위해서는 import java.util.ArrayList와 같이 ArrayList를 먼저 import해야 한다.
import java.util.ArrayList;
public class Number {
public static void main(String[] args) {
ArrayList value = new ArrayList();
value.add("21");
value.add("32");
value.add("44");
}
}
ArrayList 객체인 value에 add라는 메소드를 이용하여 값을 저장한다.
첫번째 위치에 값을 삽입하고 싶다면 다음과 같이하면 된다.
value.add(0,"21"); // 첫번째 위치에 21 삽입
첫번째 위치의 값을 출력하고 싶으면 get 메소드를 이용하면 된다.
System.out.println(value.get(0));
get 메소드 - 특정 인덱스의 값을 추출할 수 있게 해주는 메소드
System.out.println(value.size());
위의 코드를 실행하면 value에 담긴 갯수가 출력된다. (3)
contains 메소드는 리스트 안에 해당하는 값이 있는지를 판별하여 그 결과를 boolean값으로 리턴한다.
System.out.println(value.contains("44"));
value 객체는 44의 값을 포함하고 있으므로 true가 출력이 된다.
remove 메소드에는 2가지 방식이 있다. (이름은 같지만 입력 parameter가 다르다.)
remove(객체)는 리스트에서 객체에 해당되는 항목을 삭제하고 삭제한 결과를 boolean값으로 리턴한다.
System.out.println(value.remove("44"));
"44"라는 값이 있으므로 성공적으로 삭제되고 true를 리턴한다.
remove(인덱스)는 해당 인덱스의 항목을 삭제하고 삭제된 값을 리턴한다.
System.out.println(value.remove(0));
value의 첫번째 항목인 "21"을 삭제하고 "21"을 리턴한다.