자바 입문 에서 진급 의 길 (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에 따라 라이센스가 부여됩니다.