자바 입문 에서 진급 의 길 (5)
배열 은 모든 프로 그래 밍 언어 에 있어 중요 한 데이터 구조 중 하나 이 고 물론 서로 다른 언어 가 배열 에 대한 실현 과 처리 도 다르다.
배열
- 동일 한 데이터 형식의 원소 로 구 성 된 집합
- 원 소 는 선형 순서에 따라 배열 된다.선형 순서 란 첫 번 째 요 소 를 제외 하고 모든 요 소 는 유일한 전구 요 소 를 가지 고 마지막 요 소 를 제외 하고 모든 요 소 는 유일한 후계 요소 (하나 와 하나) 를 가진다.
- 요소 가 있 는 위치의 순서 번호 (아래 표) 를 통 해 표 지 를 해서 모든 요 소 를 방문 할 수 있 습 니 다 (아래 표 시 는 0 으로 시작 하고 최대 요소 개수 - 1)
배열 만 들 기
 1 public class HelloWorld {
 2     public static void main(String[] args) {
 3         //    :          arr,                  arr
 4         int[] arr;
 5         arr = new int[5];
 6 
 7         //    :       ,              
 8         int[] arr1 = new int[5];
 9     }
10 }팁: IDEA 편집기 에 fori 를 입력 하 십시오. 그리고 차 로 돌아 가면 생 성 이 돼 요. for (int i = 0; i < ; i++) { } ,입력 foreach 그리고 차 로 돌아 가면 생 성 이 돼 요. for (:) { }
위의 코드 에서 우 리 는 배열 arr 를 설 명 했 지만 값 을 부여 하지 않 았 습 니 다. 그러면 시스템 은 모든 배열 요소 에 자동 으로 값 을 부여 합 니 다. 기본 값 은 0 입 니 다. 우 리 는 모든 요소 에 값 을 부여 할 수 있 고 배열 을 초기 화 할 때 값 을 부여 할 수 있 습 니 다. 다음 코드 는 다음 과 같 습 니 다.
 1 public class HelloWorld {
 2     public static void main(String[] args) {
 3         //          arr,
 4         int[] arr = new int[5];
 5         for (int i = 0; i < arr.length; i++) {
 6             // arr        0
 7             System.out.println(arr[i]); // 0 0 0 0 0
 8         }
 9         
10         //          arr1,
11         int[] arr1 = new int[5];
12         arr1[0] = 0;
13         arr1[1] = 1;
14         arr1[2] = 2;
15         arr1[3] = 3;
16         arr1[4] = 4;
17         for (int i = 0; i < arr1.length; i++) {
18             //    arr1    
19             System.out.println(arr1[i]); // 0 1 2 3 4
20         }
21 
22         //          arr2,arr12    [0,1,2,3,4]
23         int[] arr2 = {0, 1, 2, 3, 4};
24         for (int i = 0; i < arr2.length; i++) {
25             //    arr2    
26             System.out.println(arr2[i]); // 0 1 2 3 4
27         }
28     }
29 }위의 코드 는 for 순환 출력 배열 의 모든 요 소 를 사용 합 니 다. for - each 출력 도 사용 할 수 있 습 니 다.
1 public class HelloWorld {
2     public static void main(String[] args) {
3         //          arr,
4         double[] arr = {0.1, 1.2, 2.3, 3, 4};
5         for(double i : arr){
6             System.out.println(i); // 0.1 1.2 2.3 3.0 4.0
7         }
8     }
9 }우 리 는 한 배열 의 요 소 를 다른 배열 로 복사 할 수 있 습 니 다. 다음 과 같 습 니 다.
 1 public class HelloWorld {
 2     public static void main(String[] args) {
 3         int[] arr1 = {0, 1, 2, 3, 4};
 4         int[] arr2 = new int[5];
 5         /**
 6          * arr1:   
 7          * 1:       
 8          * arr2:    
 9          * 0:         
10          * 4:         
11          * */
12         System.arraycopy(arr1, 1, arr2, 0, 4);
13         for (int i = 0; i < arr2.length; i++) {
14             System.out.println(arr2[i]); // 1 2 3 4 5 0
15         }
16     }
17 }물론 복 제 는 범 위 를 초과 할 수 없습니다. 예 를 들 어 arr 2 의 length 를 3 으로 정의 합 니 다. 즉, int[] arr2 = new int[3]; ,복사 할 개수 가 대상 배열 의 길 이 를 초과 하면 프로그램 이 잘못 보고 합 니 다.
배열 의 길 이 는 생 성 된 후에 바 꿀 수 없 지만 저 희 는 이 를 확대 할 수 있 습 니 다. 확장 이란 더 큰 새 배열 을 만 들 고 원래 배열 의 내용 을 복사 하 는 것 을 말 합 니 다. Arrays.copyOf( ) 방법 이 실현되다.
 1 public class HelloWorld {
 2     public static void main(String[] args) {
 3         int[] arr1 = {0, 1, 2, 3, 4};
 4         // arr1      arr1.length+1       
 5         arr1 = Arrays.copyOf(arr1, arr1.length + 1);
 6         for (int i = 0; i < arr1.length; i++) {
 7             System.out.println(arr1[i]); // 0 1 2 3 4 0
 8         }
 9 
10     }
11 }물론 우 리 는 기 존의 배열 을 줄 일 수 있 습 니 다. 확대 배열 의 길 이 를 소스 배열 보다 작 게 하면 됩 니 다. 그러면 소스 배열 의 끝 에 더 많은 요 소 는 제 거 될 것 입 니 다.
자바 는 우리 에 게 간단 한 배열 정렬 방법 을 제공 합 니 다. Arrays.sort( )
 1 public class HelloWorld {
 2     public static void main(String[] args) {
 3         int[] arr = {1,4,5,67,23,3};
 4         Arrays.sort(arr);
 5         for (int i = 0; i < arr.length; i++) {
 6             System.out.println(arr[i]); // 1 3 4 5 23 67
 7         }
 8 
 9     }
10 }이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.