Java의 배열: 알아야 할 사항은 무엇입니까?
게시 됨: 2020-11-30목차
소개
Java의 원시 데이터 유형을 살펴본 후 많은 사람들이 디스크에 하나 이상의 항목을 순차적으로 저장할 수 있는지에 대한 질문을 하게 될 것입니다. 자바의 배열은 우리 쿼리에 대한 답이 될 것입니다.
배열은 동일한 데이터 유형의 항목을 순차적으로 저장하는 데이터 구조입니다. 배열은 코드의 중복을 줄이고 간단하게 만듭니다. 상당히 많은 수의 값, 예를 들어 50개의 값을 저장하려는 경우 각 값을 변수에 할당하는 것은 코드의 단순성과 모순됩니다.
배열은 이 문제를 극복합니다. 이러한 모든 값을 단일 배열에 할당할 수 있지만 배열은 동일한 데이터 유형의 값만 저장할 수 있다는 점을 기억하십시오.
시작하자!
선언 및 초기화
배열을 사용하려면 배열을 선언해야 하고 배열에 저장하려는 변수의 데이터 유형을 지정해야 합니다. 모든 프로그래밍 언어와 유사하게 java에도 선언을 위해 따라야 하는 구문이 있습니다.
정수 [] 배열; //유형1 정수 배열[]; //유형2 |
위의 코드 조각과 같이 두 가지 방법으로 배열을 선언할 수 있습니다. "Type2"는 C/C++에서 차용한 배열을 선언하는 전통적인 방법입니다. 배열 선언이 끝나면 새 배열을 생성해야 하며 new 키워드를 사용하여 이를 수행할 수 있습니다.

그리고 배열 생성 구문은 “data_type[] array = new array[array_length]”와 같습니다. 생성할 때 배열의 길이를 지정해야 하며 생성 후에는 크기를 늘릴 수 없습니다.
길이를 지정하여 배열을 만든 후에는 해당 변수에 빈 배열을 할당하기만 하면 나중에 값을 넣을 수 있습니다. 이에 대한 코드를 살펴보겠습니다.
int [] 배열 = 새로운 int [ 10 ]; //선언과 //새로운 배열 생성 //값 할당 배열 [ 0 ] = 1 ; 배열 [ 1 ] = 5 ; 배열 [ 8 ] = 9 ; //방법 2 정수 [] 배열 = { 1 , 2 , 3 , 4 , 5 }; 시스템 . 밖으로 . 인쇄( 정수 [ 0 ]); |
처음에 모든 위치는 정수 배열의 0으로 채워지며 대괄호 안에 인덱스를 언급하여 해당 값을 값으로 재정의할 수 있습니다. 위의 스니펫에서 "메서드 2"는 배열을 만드는 또 다른 방법입니다.
배열에 대한 루핑
배열을 반복하기 위해 for 루프나 while 루프를 사용할 수 있습니다. 여기서 각 반복마다 인덱스가 증가합니다. 배열의 길이보다 큰 인덱스를 가진 요소에 액세스하면 예외가 발생한다는 것을 기억하십시오.
정수 [] 배열 = { 1 , 2 , 3 , 4 , 5 }; ( int i = 0 ; i < 5 ;i ++ ){ 시스템 . 밖으로 . 인쇄(배열[i] + " " ); } |
위의 코드 조각은 "1 2 3 4 5 "를 출력으로 인쇄합니다.
루프를 반복하기 위한 "for-each 루프"라는 또 다른 흥미로운 루프가 있습니다.
float [] 배열 = { 1.2f , 2.3f , 3.4f , 4.5f , 5.6f }; for ( float f : 배열){ 시스템 . 밖으로 . 인쇄(f + " " ); } |
위의 코드 조각은 각 반복에서 변수 float 값이 배열의 다음 항목으로 변경되는 for-each 루프의 구현을 보여줍니다. 이 구현에는 인덱스 변수가 필요하지 않습니다.
확인: Java의 완전한 ArrayList: 알아야 할 사항
사전 정의된 방법
Java의 Arrays 클래스에는 모든 기본 데이터 유형으로 일반화되는 사전 정의된 많은 메소드가 있습니다. 예를 들어 모든 정수가 포함된 배열과 모든 부동 소수점이 포함된 배열을 정렬하려는 경우 두 경우 모두 동일한 방법을 사용할 수 있습니다.
미리 정의된 몇 가지 배열 방법을 살펴보겠습니다.
- 종류()
이 메소드는 이미 논의된 바와 같이 주어진 배열을 오름차순으로 정렬하고 정렬된 배열을 업데이트합니다. 이 메소드는 Java의 모든 기본 데이터 유형에 대해 오버로드됩니다. 이 public 메서드는 void 반환 유형이므로 아무 것도 반환하지 않습니다.
Arrays.sort(array_name)는 따라야 할 구문입니다.

float [] 배열 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; 배열 . 정렬(배열); for ( float f : 배열){ 시스템 . 밖으로 . 인쇄(f + " " ); } |
위의 스니펫은 예상대로 "1.3 2.2 3.5 5.4 7.6"을 인쇄합니다.
- 채우다()
이 메서드는 함수 호출에서 전달한 변수로 배열을 채웁니다. 이 방법은 배열을 반복하고 해당 위치에 값을 할당하는 순진한 구현을 대체합니다.
Arrays.fill(array_name, value)은 따라야 할 구문입니다.
float [] 배열 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; 배열 . 채우기(배열, 9.8f ); for ( float f : 배열){ 시스템 . 밖으로 . 인쇄(f + " " ); } |
위의 스니펫은 배열의 모든 항목을 9.8로 바꿉니다.
- 같음()
이 메서드는 두 개의 배열을 매개변수로 예상하고 배열 1의 모든 요소가 배열 2의 모든 요소와 같으면 true를 반환합니다. 이 메서드는 두 배열의 길이가 다르거나 요소의 순서가 다른 경우 false를 반환한다는 것을 기억하십시오. .
Arrays.equals(array_1, array_2)는 따라야 할 구문입니다.
float [] 배열1 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; float [] array2 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; float [] array3 = { 2.2f , 1.3f , 3.5f , 5.4f , 7.6f }; 시스템 . 밖으로 . println( 배열 . equals(array1,array2)); //라인1 시스템 . 밖으로 . println( 배열 . equals(array1,array3)); //라인2 |
위의 스니펫은 1행에 True, 2행에 False를 인쇄합니다.
Java의 다양한 배열 메서드에 대한 자세한 내용은 해당 설명서 를 참조 하십시오.
메서드의 배열 액세스
함수에서 사용할 수 없다면 배열은 아무 소용이 없을 것입니다. 그러나 Java는 결코 실망시키지 않습니다. 배열을 전달하고 배열을 반환하고 Java 함수에서 배열을 사용할 수 있습니다.
그들을 통해 가자.

Java 함수에 배열을 전달하려면 함수 선언에서 배열의 데이터 유형을 지정해야 합니다. 이것은 기본 데이터 유형을 함수에 전달하는 것과 거의 유사합니다. 마찬가지로 배열을 반환할 때 배열을 반환 유형으로 사용하여 배열을 선언해야 합니다.
공개 정적 float [] sorted( float [] 배열){ 배열 . 정렬(배열); 반환 배열; } 공개 정적 무효 메인( 문자열 인수[]){ float [] 배열1 = { 2.2f , 1.3f , 5.4f , 3.5f , 7.6f }; float [] array2 = 정렬(배열1); for ( float f : array2) 시스템 . 밖으로 . 인쇄(f + " " ); } |
위의 스니펫은 예상대로 "1.3 2.2 3.5 5.4 7.6"을 인쇄합니다.
읽기: MATLAB 데이터 유형: 알아야 할 모든 것
결론
이제 Java의 배열에 대해 알게 되었습니다. 배열의 초기화 및 선언에 대해 이해했습니다. 배열을 반복하는 다양한 방법을 탐색했습니다. 미리 정의된 몇 가지 배열 메서드를 살펴보고 메서드에서 배열에 액세스했습니다. 당신은 자바의 유용한 데이터 구조로 가득 차 있습니다. 지금 그것을 사용하십시오!
Java, OOP 및 전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 작업 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9 + 프로젝트 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.