자바 언어 배열

17441 단어 Java
자바 에는 많은 기본 유형 이 있 는데, 배열 은 더욱 복잡 한 복합 유형 이다.본 고 는 자바 에서 배열 의 성명, 생 성, 정렬, 찾기, 판단 등 과 충전 등 내용 을 간단하게 설명 한다.
배열 은 같은 유형의 변 수 를 저장 하 는 집합 이다.
목차
  • 1 차원 배열
  • 2 차원 배열
  • 1 차원 배열
  • 성명
  • 배열 을 사용 하기 전에 배열 변 수 를 설명 하고 배열 의 요소 유형 을 밝 혀 야 합 니 다. 예 를 들 어
    double[] a;
    int[] b;
    

    첫 번 째 줄 은 double 형식의 배열 변수 a 를 설명 하여 이 배열 에 대한 인용 을 표시 합 니 다.두 번 째 줄 은 int 유형의 배열 변수 b 를 설명 했다.
    성명 배열 도 C \ C + + 의 스타일 형식 을 사용 할 수 있 습 니 다. 예 를 들 어
    double a[];
    int b[];
    

    하지만 첫 번 째 쓰 기 를 추천 합 니 다.
  • 창설
  • 성명 배열 변 수 는 배열 에 대한 참조 저장 위 치 를 만 들 었 을 뿐 메모리 에 저장 공간 을 할당 하지 않 았 다 는 점 은 기본 데이터 형식 과 다르다.
    성명 의 변수 가 데 이 터 를 인용 하지 않 으 면 변수 값 은 null 입 니 다.new 연산 자 를 사용 하여 배열 을 만 들 고 배열 의 참조 값 을 변수 에 부여 합 니 다. 예 를 들 어
    a = new double[10];
    
    new 연산 자 를 사용 하여 10 크기 double 형식의 배열 을 만 들 고 이 를 변수 a 에 할당 합 니 다.
    배열 변수의 성명, 배열 생 성, 할당 은 하나의 문장 으로 쓸 수 있 습 니 다. 예 를 들 어
    double[] a = new double[10];
    
  • 배열 의 크기
  • 배열 을 만 들 때 크기 를 지정 하고 메모리 가 저장 공간 을 할당 합 니 다.배열 크기 는 만 든 후에 수정 할 수 없습니다.length 배열 의 크기 를 가 져 올 수 있 습 니 다. 예 를 들 어
    int len = a.length;
    
    a.length 배열 a 의 크기 를 가 져 왔 습 니 다.
  • 배열 의 기본 값
  • 배열 을 만 든 후에 배열 의 요 소 는 기본 값 을 부여 합 니 다. 수치 형 배열 이 라면 요소 의 기본 값 은 0 입 니 다.char 형 이 라면 기본 값 은 \u0000 입 니 다.boolean 형 이 라면 기본 값 false 입 니 다.
  • 배열 요소 에 접근
  • 배열 요 소 는 아래 표 시 된 형식 으로 접근 합 니 다.배열 의 아래 표 시 는 0 에서 시작 하여 아래 표 시 는 최대 a.length-1 이다.즉, a[0] 은 수조 a 의 첫 번 째 원소 이 고 a[9] 는 마지막 원소 이다.배열 요 소 를 가 져 오 면 기본 변수 로 조작 할 수 있 습 니 다.
  • 초기 화
  • 배열 을 만 든 후 배열 의 각 요 소 를 방문 하여 초기 값 을 부여 하 는 방식 을 초기 화 할 수 있 습 니 다. 예 를 들 어
    double[] a = new double[3];
    a[0] = 2.3;
    a[1] = 5.5;
    a[2] = 4.5;
    

    성명, 생 성, 초기 화 를 한 문장 에 넣 을 수도 있 습 니 다. 예 를 들 어
    double[] a = {2.3, 5.5, 4.5};
    

    상술 한 문 구 는 성명 과 할당 두 문장 으로 나 눌 수 없 으 며, 그렇지 않 으 면 잘못 된다.
  • foreach 순환
  • foreach 순환 은 for 순환 의 축소 형식 으로 볼 수 있 고 아래 표 시 를 사용 하지 않 고 배열 요 소 를 순서대로 방문 할 수 있다. 예 를 들 어
    for (double e: a)
    	System.out.println(e);
    

    상기 문 구 는 인쇄 배열 a 의 모든 요소 e 의 값 입 니 다.
  • 배열 복사
  • 배열 a 을 배열 b 에 복사 하려 면 배열 a 의 모든 요 소 를 배열 b 에 복사 해 야 합 니 다. 예 를 들 어 배열 변수 할당 형식 을 사용 할 수 없습니다.
    b = a;
    

    이 쓰 기 는 배열 의 복 사 를 완성 할 수 없습니다.이 는 ab 이 두 배열 의 주 소 를 표시 하고 복사 문 구 를 사용 하면 ab 이 같은 주소 공간 을 가리 키 기 때문이다.
    이 밖 에 System 중의 정적 방법 arraycopy 을 사용 하여 배열 복 제 를 완성 할 수 있다.
    System.arraycopy(sourceArray, srcPos, targetArray, tarPos, length);
    

    그 중에서 매개 변수 PostarPos 는 각각 소스 배열 sourceArray 과 목표 배열 targetArray 의 시작 위 치 를 나타 내 고 매개 변수 length 는 복사 해 야 할 요소 의 개 수 를 지정 한다.
    이 방법 을 사용 하기 전에 대상 배열 을 만들어 저장 공간 을 할당 해 야 합 니 다.
  • 배열 정렬
  • java.util.Arrays 클래스 에는 sortparallelSort 방법 이 포함 되 어 있 으 며, 배열 의 모든 것 을 정렬 할 수 있 습 니 다. 예 를 들 어
    java.util.Arrays.sort(a);
    java.util.Arrays.parallelSort(a);
    

    배열 부분 을 정렬 할 수도 있 습 니 다. 예 를 들 어
    java.util.Arrays.sort(a, 1, 7);
    java.util.Arrays.parallelSort(a, 1, 7);
    
    a[1] 에서 a[7 - 1] 까지 의 범 위 를 정렬 하 는 것 을 나타 낸다.
    컴퓨터 에 여러 개의 프로세서 가 있 을 때 parallelSort() 방법 은 더욱 효율 적 이다.
  • 2 점 찾기
  • java.util.Arrays 류 중 2 분 검색 binarySearch() 방법 도 있다. 이 방법 을 사용 하 는 전 제 는 배열 이 반드시 오름차 순 으로 배열 되 어야 한 다 는 것 이다. 예 를 들 어
    java.util.Arrays.binarySearch(a, 2.3);
    

    배열 a 에서 값 이 2.3 인 요 소 를 찾 는 것 을 나타 내 고 이 요소 가 존재 하면 이 요소 가 배열 에 있 는 아래 표 시 를 되 돌려 줍 니 다.존재 하지 않 으 면 - 1 로 돌아 갑 니 다.
  • 판단 이 같다
  • java.util.Arrays 류 에서 equals() 방법 을 제공 하여 두 배열 의 일치 여 부 를 판단 한다. 예 를 들 어
    java.util.Arrays.equals(a, b);
    

    상기 코드 는 배열 ab 이 같 는 지 판단 하고 똑 같이 true 로 돌아 갑 니 다.그렇지 않 으 면 false 로 돌아 갑 니 다.
  • 채 우기
  • java.util.Arrays 클래스 에서 fill() 방법 을 제공 하여 배열 의 전부 또는 부분 을 채 웁 니 다. 예 를 들 어
    java.util.Arrays.fill(a, 5);
    

    배열 a 의 모든 요소 에 5 대 값 을 부여 하 는 것 을 나타 낸다.
    java.util.Arrays.fill(a, 1, 7, 5);
    

    5 를 a[1] 에서 a[7 - 1] 까지 의 모든 요소 에 할당 하 는 것 을 나타 낸다.
  • 문자열 되 돌려 주기
  • java.util.Arrays 클래스 에서 문자열 을 되 돌려 주 는 방법 을 제공 합 니 다. 예 를 들 어 배열 의 모든 요 소 를 대표 합 니 다.
    java.util.Arrays.toString(a);
    

    2 차원 배열
    2 차원 배열 은 1 차원 배열 의 배열 로 볼 수 있 고 2 차원 배열 의 모든 요 소 는 1 차원 배열 이다.
  • 성명 과 창설
  • 2 차원 배열 은 두 개의 아래 표 시 를 사용 하여 줄 과 열 을 표시 하고 1 차원 배열 과 마찬가지 로 모두 0 에서 시작한다.2 차원 배열 성명 은 다음 과 같다.
    int[][] matrix;
    

    아래 와 같은 방식 으로 도 사용 할 수 있 지만 추천 하지 않 습 니 다.
    int matrix[][];
    
    toString() 연산 자 를 사용 하여 생 성 합 니 다. 예 를 들 어
    matrix = new int[3][3];
    

    2 차원 배열 은 줄 과 열 아래 표 시 를 통 해 접근 하고 아래 표 시 를 이용 하여 초기 화 합 니 다. 예 를 들 어
    matrix[0][0] = 2;
    matrix[2][1] = 1;
    

    다음 과 같은 방식 으로 배열 을 설명 하고 생 성 하 며 초기 화 할 수 있 습 니 다.
    int[][] matrix = {{1, 2, 3}, {2, 3, 4}, {5, 6, 7}};
    
  • 길이
  • 2 차원 배열 은 실제 적 으로 배열 의 배열 이 고 2 차원 배열 의 요 소 는 1 차원 배열 이다.따라서 new 은 2 차원 배열 의 요소 갯 수 이자 줄 수 이다.반면 matrix.length, matrix[0].length 등 은 각각 0 번 째 와 1 번 째 1 차원 배열 요소 의 개 수 를 나타 낸다.
  • 톱날 배열
  • 2 차원 배열 은 1 차원 배열 의 배열 이기 때문에 1 차원 배열 의 길이 가 다 를 수 있 습 니 다. 예 를 들 어
    int[][] matrix = {{1, 2, 3}, {1, 2}, {1}};
    
    matrix[1].length 에서 첫 번 째 원소 의 길이 matrix 는 3 이다.두 번 째 원소 와 세 번 째 원 소 는 각각 2 와 1 이다.이렇게 각 줄 의 길이 가 다른 배열 을 톱니 배열 이 라 고 한다.
    2 차원 길이 가 확실 하지 않 을 때 배열 에서 설명 할 때 2 차원 길이 값 을 공석 할 수 있 습 니 다. 예 를 들 어
    int[][] matrix = new matrix[3][];
    
    matrix[0].length 다음 에 첫 번 째 하 표 값 을 지정 해 야 하 며 두 개의 하 표 값 이 모두 비어 있 는 것 을 허락 하지 않 습 니 다.

    좋은 웹페이지 즐겨찾기