배열 (Eng. 배열)은 많은 데이터로 작업 할 수있는 강력한 도구입니다. 분명히 코드를 처리하는 과정에서 예를 들어 100 개의 값을 저장해야하는 경우이 목적을 위해 동일한 수의 변수를 수행하는 것은 적어도 비합리적입니다. 배열을 사용하면 많은 수의 값을 같은 이름으로 저장하고 적절한 인덱스에 액세스 할 수 있습니다. 배열의 개념은 초보자를위한 Java 과정의 초석입니다. 결국 이는 많은 데이터 구조의 기초입니다.
Java는 무엇보다도 OOP, by다른 프로그래밍 언어의 배열과 비교할 때 java 배열에는 하나의 특징이 있습니다. 객체는 객체로 표시됩니다. 다른 장점 중 하나는 메모리 정리가 자동으로 해제되기 때문에 메모리 정리를 모니터링 할 필요가 없습니다.
1 차원 배열은 다음과 같이 표현됩니다.클래식 Java 배열은 공통 이름을 공유하는 관련 요소의 콜렉션이며, 각각 특정 인덱스에 해당합니다. 배열을 선언하는 방법은 아래 그림과 같습니다.
먼저 Java 배열 유형이 선언됩니다.그 안에 저장된 값의 유형을 결정합니다. Java의 유효한 데이터 유형이 될 수 있습니다. 다음은 배열의 이름과이 변수가 배열임을 컴파일러에 알리는 대괄호입니다. 중요한 사실에 유의하십시오. 대괄호는 배열의 기본 형식 뒤에 배열 이름 뒤에 설정할 수 있습니다. 등호 뒤에 연산자 new가 도입되어 배열의 메모리 (객체의 경우는 물론), 저장 될 요소의 유형 (앞에서 선언 한 기본 유형과 호환 가능해야 함) 및 마지막으로 그 번호 , 대괄호 안에 표시.
Java 배열의 요소 번호 매기기는 0부터 시작합니다. 따라서, 어레이의 첫 번째 요소의 인덱스가 0이고, 여섯 번째 - 5. 어레이의 특정 요소를 참조하는 이러한 다섯 번째로, 배열 이름 충분 지정한 이름 옆에 괄호 안에 인덱스. 따라서 요소에 값을 할당하거나 검색 할 수 있습니다. 그러나 요소가없는 색인을 전달하면 오류가 발생하므로주의해야합니다.
다차원 배열은 시리즈입니다.다른 배열의 요소에 의해 참조되는 1 차원. 즉, 배열의 배열입니다. 이중 가장 단순한 것은 2 차원입니다. 그들의 예에서 우리는 그 개념을 이해하려고 노력할 것입니다. 명확하게하기 위해 아래 그림은 2 차원 배열의 구조를 설명하는 구문과 스키마를 보여줍니다.
보시다시피 구문은 매우 다르지 않습니다.1 차원 배열. 구조를 살펴 봅시다. 첫 번째 괄호 안에는 5 개의 요소에 대한 위치가 할당되어 있습니다. 이러한 요소는 개별 배열에 대한 참조 일뿐입니다. 각각의 크기는 두 번째 괄호 안의 숫자로 결정됩니다. 사실 행렬은 수학적으로 2 차원 배열의 유사어입니다. 요소 외에 배열의 길이 값 (길이)이 저장되는 별도의 위치가 메모리에 할당됩니다. 일반적으로 중첩 된 for 루프를 사용하여 다차원 배열 작업을 수행합니다.
2 차원 배열은 배열의 배열입니다. 이 우리는 이미 발견했다. 배열이 거기에 포함되는지 여부를하지만, 다른 길이가? 대답은 - 네, 그들이 할 수있는. 이를 위해, 자바는 특별한 방법으로 2 차원 배열을 선언 할 수있는 기회를 제공한다. 예를 들어, 우리는 각각 길이가 2, 3, 4의 3 차원 배열을 저장하는 것 인 2 차원 배열을 생성 할. 그는 다음과 같이 선언
intarr [] [] = newint [3] [];
두 번째 괄호에 숫자를 지정하지 않았다는 점에 유의하십시오. arr에있는 배열의 크기는 다음과 같이 정의됩니다 :
arr [0] = 새로운 int [2];
arr [1] = 새로운 int [3];
arr [2] = newint [4];
아래 첨자 0 아래의 요소를 보면,첫 번째 배열에서 차원 2로 선언합니다. 인덱스가 1 인 요소는 차원 3의 배열을 저장합니다. 꽤 간단합니다.
배열을 만들 때 배열을 직접 초기화 할 수도 있습니다. 꽤 간단합니다.
jerseyNumber 및 playerName 배열의 선언에 주목하십시오.
2 차원 배열의 경우이 선언은 다음과 같습니다.
int [] [] arr = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}
이를 위해 operator new 대신에,모든 요소 목록이 쉼표로 전달되는 중} 호. 이 경우 Java는 자동으로 메모리를 할당하고 그에 따라 색인을 생성합니다.
배열과 같은 엔티티 작업Java의 java.util 패키지에는 Arrays라는 특별한 클래스가 있습니다.이 클래스는 정적 메소드를 많이 제공하여 클래스와의 작업을 크게 용이하게합니다. 기본 방법 목록은 아래 그림과 같습니다.
가장 유용한 자바 배열 메소드를 살펴 보자.
- copyOf (array, length) - 복사본을 반환합니다.적절한 길이의 전송 된 배열. 전송 된 길이가 원래 배열보다 큰 경우 모든 "추가"요소는 기본값 (0, 단순 유형 인 경우 참조, 참조 유형 인 경우 null)으로 채워집니다.
- copyOfRange (배열, 첫 번째 인덱스, 마지막색인) - 그림에 표시되어 있지는 않지만 유용한 방법입니다. 해당 인덱스에 의해 결정된 전송 된 배열의 부분을 첫 번째부터 마지막까지 복사합니다.
- sort (array) - 배열 요소를 오름차순으로 정렬합니다.
- fill (array, value) - 전송 된 배열을 적절한 값으로 채 웁니다.
- binarySearch (array, value) - 반환 값해당 값을 가진 요소가 전송 된 정렬 된 배열에있는 인덱스입니다. 그러한 요소가 없으면 음수가 리턴됩니다.
메서드가 정적이므로 메서드를 호출하기 위해 Arrays 클래스를 인스턴스화 할 필요가 없습니다. Arrays.sort (arr)에서 직접 호출됩니다.
우리는 가장 중요한 측면배열에 관해서, 그리고 초보자를 위해서 자바를 배우기 시작한 사람들을 위해, 이것은 배열과 같은 엔티티에 대한 기본적인 이해와 그것을 사용하기위한 기본 기술로 충분합니다. 물론 연습을 통해이 도구의 작업을 더 잘 이해할 수 있습니다. 따라서, 다른 방법으로 배열을 조작하는 연습을하기에는 너무 게으르지 마십시오.
보조 클래스 Java Array는 "전투"조건에서 이미 사용되므로 먼저 배열을 사용하여 모든 기본 작업을 수동으로 수행하는 방법을 배우는 것이 좋습니다.
</ p>