>  기사  >  Java  >  Java 문서 해석: Arrays 클래스의 fill() 메소드에 대한 자세한 설명

Java 문서 해석: Arrays 클래스의 fill() 메소드에 대한 자세한 설명

王林
王林원래의
2023-11-03 19:39:17743검색

Java 문서 해석: Arrays 클래스의 fill() 메소드에 대한 자세한 설명

Java 언어에서 Arrays 클래스는 배열에서 작동하는 데 사용할 수 있는 많은 정적 메서드를 제공하는 배열 관련 유틸리티 클래스입니다. 그 중 fill() 메소드는 Arrays 클래스에서 제공하는 매우 실용적인 메소드로 배열의 모든 요소를 ​​동일한 값으로 설정함으로써 배열의 초기화 및 재설정을 구현할 수 있다. 이 글에서는 Arrays 클래스의 fill() 메소드를 구문, 사용법, 주의사항 등을 자세하게 소개하고 관련 코드 예제를 제공합니다. 이 기사를 공부함으로써 독자들이 Java 언어의 Arrays 클래스를 더욱 능숙하게 사용할 수 있기를 바랍니다.

1. fill() 메서드 구문

Arrays 클래스의 fill() 메서드 구문은 다음과 같습니다.

public static void fill(int[] a, int val);
public static void fill(int[] a, int fromIndex, int toIndex, int val);
public static void fill(long[] a, long val);
public static void fill(long[] a, int fromIndex, int toIndex, long val);
public static void fill(short[] a, short val);
public static void fill(short[] a, int fromIndex, int toIndex, short val);
public static void fill(char[] a, char val);
public static void fill(char[] a, int fromIndex, int toIndex, char val);
public static void fill(byte[] a, byte val);
public static void fill(byte[] a, int fromIndex, int toIndex, byte val);
public static void fill(boolean[] a, boolean val);
public static void fill(boolean[] a, int fromIndex, int toIndex, boolean val);
public static void fill(Object[] a, Object val);
public static void fill(Object[] a, int fromIndex, int toIndex, Object val);

보시다시피 Arrays 클래스의 fill() 메서드에는 여러 가지가 있습니다. 오버로드된 양식은 각각 다른 데이터 유형에 사용할 수 있습니다. 그 중 int, long, short, char, byte, boolean 등 기본 데이터형을 매개변수로 취하는 메소드는 해당 기본 데이터형 배열을 연산하는 반면, Object를 매개변수로 하는 메소드는 임의의 객체 배열을 연산할 수 있다. 수업. 이들 메소드의 매개변수에는 연산을 수행할 배열 a, 설정값 val, 연산 시작 인덱스 fromIndex, 연산 종료 인덱스가 포함됩니다.

2. fill() 메소드의 사용법

이제 fill() 메소드의 구체적인 사용법을 살펴보겠습니다. 길이가 10인 int 유형의 배열을 만들고 모든 요소를 ​​5로 설정해야 한다고 가정하면 Arrays 클래스의 fill() 메서드만 호출하면 됩니다. 샘플 코드는 다음과 같습니다. 실행 결과는 다음과 같습니다.

import java.util.Arrays;

public class TestArrays {
    public static void main(String[] args){
        int[] array = new int[10];
        Arrays.fill(array, 5);
        System.out.println(Arrays.toString(array));
    }
}

보시다시피 위 코드는 Arrays 클래스의 fill() 메소드를 사용하여 배열의 모든 요소를 ​​5로 설정하고, toString()을 통해 배열을 문자열 출력으로 변환합니다. 배열 방법.

또한 fill() 메서드를 사용하여 배열의 요소를 부분적으로 수정할 수도 있습니다. 예를 들어, 시작 첨자와 끝 첨자를 지정하여 배열의 특정 범위 요소를 동일한 값으로 설정할 수 있습니다. 샘플 코드는 다음과 같습니다.

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]

실행 결과는 다음과 같습니다.

import java.util.Arrays;

public class TestArrays {
    public static void main(String[] args){
        int[] array = new int[10];
        Arrays.fill(array, 2, 7, 9);
        System.out.println(Arrays.toString(array));
    }
}

보시다시피 위 코드에서는 배열의 2~6번째 요소를 9로 설정하고 나머지 요소는 그대로 유지됩니다.

또한 Arrays 클래스의 fill() 메서드는 Object 유형의 객체 배열에도 사용할 수 있습니다. 이때, 값으로 객체를 전달해야 합니다. 샘플 코드는 다음과 같습니다.

[0, 0, 9, 9, 9, 9, 9, 0, 0, 0]

실행 결과는 다음과 같습니다.

import java.util.Arrays;

public class TestArrays {
    public static void main(String[] args){
        String[] array = new String[5];
        Arrays.fill(array, "hello");
        System.out.println(Arrays.toString(array));
    }
}

보시다시피 위 코드는 배열의 모든 요소를 ​​다음과 같이 설정합니다. 문자열 "안녕하세요".

3. 참고 사항

Arrays 클래스의 fill() 메서드를 사용할 때 다음 사항에 주의해야 합니다.

fill() 메서드는 정적 메서드이므로 클래스 이름을 사용하여 직접 호출할 수 있습니다. . Arrays 클래스의 인스턴스를 만들 필요가 없습니다.
  1. fill() 메서드를 사용할 때 연산할 배열 a를 전달해야 합니다. 그렇지 않으면 NullPointerException이 발생합니다.
  2. 배열 a 외에도 fill() 메서드도 설정된 값 val을 전달해야 합니다. 그렇지 않으면 NullPointerException이 발생합니다.
  3. 지정된 시작 인덱스 fromIndex 또는 끝 인덱스 toIndex가 배열 범위를 초과하는 경우 ArrayIndexOutOfBoundsException 예외가 발생합니다.
  4. 시작 인덱스 fromIndex가 끝 인덱스 toIndex보다 큰 경우 fill() 메서드는 배열의 모든 요소를 ​​val로 설정합니다.
  5. fill() 메서드가 객체 배열에서 작동하는 경우 val 값을 설정할 때 해당 값이 데이터 유형 요구 사항을 충족하는지 주의해야 합니다. 그렇지 않으면 유형 변환 예외가 발생하기 쉽습니다.
  6. 4. 요약

이 글에서는 Java 언어의 Arrays 클래스의 fill() 메소드에 대한 구문, 사용법, 주의사항을 자세히 설명하고 관련 코드 예제를 제공합니다. fill() 메소드를 사용하면 배열을 쉽게 초기화하고 재설정할 수 있으며 이는 일상적인 프로그래밍 작업에 매우 실용적인 도구입니다. 그러나 코드 오류 및 예외를 방지하려면 fill() 메서드를 사용할 때 Java 언어의 구문 사양을 준수하도록 주의해야 합니다. Java 프로그래머에게 Arrays 클래스의 fill() 메소드를 마스터하는 것이 매우 필요하다는 것을 알 수 있습니다.

위 내용은 Java 문서 해석: Arrays 클래스의 fill() 메소드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.