(자바강의/자바강좌/자바동영상/자바/JAVA)자바 배열(Java Array)
1. 자바 배열
하나의 배열변수에 동일한 타입의 여러 값을 저장한다.
선언을 위해 대괄호로 변수의 타입을 지정한다.
원시 데이터 유형(int, long) 외에도 배열은 참조 유형(타입이 클래스 인것, 객체)을 저장한다.
배열도 객체, Heap에 메모리가 할당된다.
배열 선언(주의 : 선언 할때 크기 명시 안 한다.)
int[] a; (혹은 int a[];)
배열에 Access하기 위한 첨자는 int형, long인 경우엔 캐스팅을 해야 한다.
배열 생성
a = new int[3];
int[] a = {1, 2, 3};
int[] a; a = new int[] {1, 2, 3};
배열 길이
a.length
배열의 재사용
int[] a = {1, 2, 3};
a = new int[50]; //이때 이전의 배열a의 내용은 버려지며 새로운 메모리 공간이 할당된다.
2. 예문
int[] a = {1, 2, 3}; // int형 배열 선언 및 값 할당
int a2[]; // int형 배열 선언
a2 = new int[] {7, 8, 9, 10, 11, 12}; // 배열 생성
System.arraycopy(a, 0, a2, 3, 3);
System.out.println( a.length ); // 3
for(int i : a2) System.out.print( i + " "); // 7 8 9 1 2 3
String[] as = { "array", "of", "string", };
String[] as2 = { "another", "array" };
System.out.println("\n" + as.length ); // 3
Arrays.asList(as).forEach(s -> System.out.println(s));
// as2가 참조하는 것을 as도 참조s,
// as2 둘다 같은객체를 참조한다.("another", "array")
as = as2;
System.out.println("\n" + as.length ); // 2
Arrays.asList(as).forEach(System.out::println); // another array
3. 배열의배열(다차원배열)
배열은 또 다른 배열을 포함 할 수 있다.
하위 배열은 모두 다른 크기를 가질 수 있다.
4. 예문
String[][] nara = {
{"대한민국" , "중국", "필리핀"},
{"영국", "프랑스"},
{"가나", "콩고"}
};
for(String[] sArr : nara) {
System.out.println("sArr.length : " + sArr.length);
for(String s : sArr) {
System.out.print(s + " ");
}
System.out.print("\n");
}
sArr.length : 3
대한민국 중국 필리핀
sArr.length : 2
영국 프랑스
sArr.length : 2
가나 콩고
5. 배열의 예외
NegativeArraySizeException : 음수크기를 갖는 배열 객체를 만들고자 할때 발생
ArrayStoreException : 배열의 자료형과 틀린 자료값을 저장 할려고 하는 경우에 발생
ArrayIndexOutOfBoundsException : 배열의 첨자 범위를 벗어 났을때 발생
NullPointException : null 값을 갖는 배열 객체 참조 변수를 참조하려고 할때 발생
6. 배열 정렬
java.util.Arrays 클래스의 sort메소드를 이용하여 정렬가능
String[] myArray = { "c", "a", "b" };
// 일단 그냥 출력 해보자. c, a, b 순으로 출력
for (String s : myArray) {
System.out.println(s);
}
// Ascending Sort, 오름차순 정렬
Arrays.sort(myArray);
// a, b, c로 출력
for (String s : myArray) {
System.out.println(s);
}
// 이번에는 내림차순(Descending) 졍렬
Arrays.sort(myArray, Collections.reverseOrder());
// c, b, a로 출력
for (String s : myArray) {
System.out.println(s);
}
#자바배열, #자바Array, #JAVA배열, #함수형인터페이스, #자바, #JAVA, #자바변수, #클래스변수, #인스턴스변수, #자바동영상, #자바동영상강의, #자바강의, #자바강좌, #JAVA, #JAVA동영상, #JAVA강의, #JAVA강좌, #자바교육, #JAVA교육, #자바소스
댓글 없음:
댓글 쓰기