Java에서 배열을 초기화하는 방법



배열 자바

Java에서 배열을 초기화하는 방법

Java의 배열은 동일한 데이터 유형의 여러 값을 순차적으로 저장하는 가장 널리 사용되는 데이터 구조입니다. 배열의 길이는 고정되어 있으며 인덱스는 0에서 n-1까지 시작합니다. 여기서 n은 배열의 길이입니다. Java에서 배열 클래스를 사용하여 문자열, 정수, 문자, 바이트 및 사용자 정의 객체와 같은 모든 유형의 값을 저장할 수 있습니다. Java에서 배열을 초기화하는 방법을 배웁니다.

아래는 11 개의 요소를 갖는 정수의 XNUMX 차원 배열을 도식적으로 나타낸 것입니다.

자바의 배열

자바 어레이 기능

  • 배열의 크기는 고정되어 있으며 변경할 수 없습니다.
  • 배열은 인덱스 기반이므로 임의의 요소에 쉽게 액세스 할 수 있습니다.
  • 배열 요소에 연속 메모리를 할당합니다.
  • 둘 다 저장할 수 있습니다 원시 및 비 원시 데이터

Java에서 배열을 선언하는 방법은 무엇입니까?

자바 배열 선언

배열은 아래와 같은 방법으로 선언 할 수 있습니다. 배열 선언에는 두 부분이 포함됩니다. 첫 번째는 배열 (예 : int, String 등)에 저장해야하는 요소의 데이터 유형과 그 뒤에 배열 이름입니다. [] 대괄호는 그것이 배열임을 나타냅니다. 배열을 선언 할 때 변수가 배열이고 실제로 배열을 생성하지 않는다고 컴파일러에 알려줍니다.

datatype [] arrayName; (또는)

데이터 유형 [] arrayName; (또는)

데이터 유형 arrayName []; –> 일반적으로이 방법은 유효하지만 사용하는 것을 선호하지 않습니다.

배열 선언의 예

int[] arrNumbers;
String[] arrNames;
float[] arrValues;
boolean[] arrBoolean;
char[] arrLetters;
byte[] arrBytes;
double[] arrWeight;

Java에서 배열을 만드는 방법은 무엇입니까?

자바의 문자열 배열

우리는 새로운 운영자. 여기에서 배열 변수를 저장하는 데 필요한 메모리 양을 나타내는 []에 배열의 크기를 지정합니다.

arrname = 새 데이터 유형 [크기];

선언하고 생성 할 수도 있습니다. 정렬 아래와 같이 하나의 문장으로. 첫 번째 문은 크기가 5 인 정수 배열을 만듭니다. 두 번째 문은 크기가 2 인 문자열 배열을 만듭니다.

int[] arrNumbers = new int[5];
String[] arrNames = new String[2];

Java에서 배열을 초기화하는 방법은 무엇입니까?

배열을 인스턴스화하는 방법은 무엇입니까?

배열 초기화 또는 인스턴스화는 배열 크기에 따라 배열에 값을 할당하는 것을 의미합니다. 또한 함께 배열을 만들고 초기화 (인스턴스화) 할 수 있습니다 (아래 방법 1 참조). 이 경우 요소의 수는 배열의 길이 또는 크기를 나타냅니다. 방법 2에서는 각 요소에 개별적으로 t0 값을 할당합니다. 배열 인덱스는 0으로 시작하고 배열 크기는 3이므로 세 번째 요소는 n-3 인 두 번째 위치를 차지하며 여기서 n은 배열의 크기입니다.

//Method 1
int[] arrNumbers = {1,2,3};

//Method 2
int[] arrNumbers = new int[3];
arrNumbers[0] = 1;
arrNumbers[1] = 2;
arrNumbers[2] = 3;

Java에서 배열 요소에 액세스

인덱스 값을 사용하여 배열 요소에 액세스합니다. 일반적으로 우리는 루프 또는 각각 모든 요소가 동일한 유형이고 크기가 고정되어 있으므로 배열 요소에 액세스하기위한 루프입니다.

예 : 배열 요소 생성, 초기화 및 액세스

여기서는 단일 문에서 문자열 배열을 만들고 초기화하고 for 루프를 사용하여 각 요소에 액세스합니다.

public class ArrayDemo1 {

  public static void main(String[] args) {
    String[] arrMonths = {"May","June","July"};
    System.out.println("Length of array is: " + arrMonths.length);
    for(int i=0;i<arrMonths.length;i++)
    {
      System.out.println(arrMonths[i]); 
    }

  }

}
Output:
Length of array is: 3
May
June
July

예 : 배열을 초기화하고 배열 요소에 액세스하는 또 다른 방법

아래 예제에서는 먼저 정수 배열을 선언하고 생성 한 다음 개별 배열 요소에 값을 할당합니다. 여기서는 각 루프를 사용하여 배열 요소에 액세스합니다.

public class ArrayDemo2 {

  public static void main(String[] args) {
    int[] numbers = new int[5];
    numbers[0] = 100;
    numbers[1] = 101;
    numbers[2] = 103;
    numbers[3] = 104;
    numbers[4] = 105;
    
    for(int i: numbers)
    {
      System.out.println(i);
    }

  }

}
Output:
100
101
103
104
105

Java의 배열 유형

Java에는 두 가지 유형의 배열이 있습니다.

  • 1 차원 배열 – 1 개의 행과 XNUMX 개의 열만 포함합니다. 위의 모든 예는 XNUMX 차원 배열에 속합니다.
  • 다차원 배열 – 여러 행과 열을 포함합니다. 즉, 모든 행에 동일한 수의 열이있는 배열의 배열입니다. 예 : 2 * 2 매트릭스
  • 들쭉날쭉 한 배열 – 각 행에는 다른 수의 열이 포함됩니다.

자바의 다차원 배열

다차원 배열에는 여러 행과 열이있을 수 있습니다. 첫 번째 []의 인덱스는 행을 나타내고 두 번째 []는 열을 나타냅니다.

예 : int [] [] a = new int [2] [3]

이것은 배열에 2 개의 행과 3 개의 열이 포함되어 있음을 의미합니다. 아래는 다차원 배열의 다이어그램 표현입니다.

자바의 배열

문자열의 다차원 배열을 만드는 예

아래 예제는 다차원 배열 요소를 생성, 선언 및 액세스하는 방법을 보여줍니다. 여기서는 행 및 열 인덱스를 사용하여 배열 요소에 직접 액세스합니다.

public class ArrayMulti {

  public static void main(String[] args) {
    String[][] arrNames = {{"John","Jacob"},{"Thomas","Martin"}};
    System.out.println(arrNames[0][0] + " " + arrNames[0][1]);
    System.out.println(arrNames[1][0] + " " + arrNames[1][1]);

  }

}
Output:
John Jacob 
Thomas Martin

2D 정수 배열의 예

여기에서는 2 개의 행과 2 개의 열이있는 정수의 3 차원 배열을 만듭니다. for 루프 내부의 이러한 배열 요소에 값을 할당합니다. 첫 번째 for 루프는 행을 나타내고 두 번째 for 루프는 열을 나타냅니다.

public class ArrayMulti {

  public static void main(String[] args) {
    //Declare and create multidimensional array
    int[][] arrnum = new int[2][3];
    for(int i=0;i<2;i++) {
      for(int j=0;j<3;j++) {
        //Assign values to array elements
        arrnum[i][j] = i+1;
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }

  }

}
Output:
1 1 1 
2 2 2 

자바의 들쭉날쭉 한 배열

들쭉날쭉 한 배열은 또한 열 수가 다른 2 차원 배열입니다. 즉, 각 행에는 다른 수의 열이 있습니다. 들쭉날쭉 한 배열을 초기화하는 것은 일반 2D 배열의 초기화와 다릅니다.

들쭉날쭉 한 배열 초기화

배열 생성 중에 행 수를 지정합니다. 이 예에서는 2입니다. 다음 2 개의 문에서 각 행 배열에 대해 열 수를 지정합니다. 여기서 첫 번째 행에는 1 개의 열이 있고 두 번째 행에는 3 개의 열이 있습니다.

int[][] arrnum = new int[2][];
arrnum[0] = new int[3];
arrnum[1] = new int[4];

for 루프에 값을 할당하여 들쭉날쭉 한 배열의 예

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arrnum = new int[2][];
    arrnum[0] = new int[3];
    arrnum[1] = new int[4];

    int val=1;
    //Assign values
    for(int i=0;i<arrnum.length;i++) {
      for(int j=0;j<arrnum[i].length;j++) {
        arrnum[i][j] = val;
      }
    }
    
    //Print the values
    for(int i=0;i<arrnum.length;i++)
    {
      for(int j=0;j<arrnum[i].length;j++)
      {
        System.out.print(arrnum[i][j] + " ");
      }
      System.out.println();
    }
  }

}
Output:
1 1 1 
1 1 1 1 

배열 생성 중에 값을 초기화하여 들쭉날쭉 한 배열 예제

public class JaggedArray {

  public static void main(String[] args) {
    int[][] arr = {{4,5,6},{1,2},{7,9,8}};
    for(int i=0;i<3;i++)
    {
      for(int j=0;j<arr[i].length;j++) {
        System.out.print(arr[i][j] + " ");
      }
      System.out.println();
    }
  }
}
Output:
4 5 6 
1 2 
7 9 8 

자바 배열 방법

다음은 Java의 배열에서 지원하는 직접 메서드입니다.

방법제품 설명
void clone ()참조가 복사되지 않는 기존 배열 값을 복제합니다.
부울 같음 (Object 0)다른 개체가 현재 개체와 같은지 확인합니다.
클래스 getClass ()클래스 이름을 반환합니다.
String toString ()객체의 문자열 표현을 반환합니다.
int 길이 ()배열의 길이를 반환합니다.

자바 어레이 예외

배열 자바 던지기 아래 예외 :

  • ArrayIndexOutOfBoundsException : 지정한 인덱스 값이 배열의 길이보다 크거나 음수 일 때 발생합니다. 이것은 주로 값을 할당하거나 배열 요소에 액세스하는 동안 발생합니다.

배열 복사

System 클래스의 arraycopy 메소드를 사용하여 한 배열에서 다른 배열로 요소를 복사 할 수 있습니다.

배열 구문 복사

public void arraycopy (Object src, int srcPos, Object dest, int destPos, int length);

복사 할 src-source 배열 객체

srcPos – 소스 배열의 시작 위치

dest – 복사 할 대상 배열 객체

destPos – 대상 배열의 시작 위치

length – 복사 할 배열 요소 수

배열 복사의 예

아래 예에서는 소스 배열에서 대상 배열로 4 개의 요소를 복사합니다. 따라서 출력은 "java" "를 인쇄합니다.

public class ArrayCopy {

  public static void main(String[] args) {
    char[] a = {'d','l','h','y','j','a','v','a','g','r','t'};
    char[] b = new char[4];
    
    System.arraycopy(a, 4, b, 0, 4);
    System.out.println(String.valueOf(b));

  }

}
Output:
java

메서드에 배열 전달

Java에서는 추가 조작 또는 기타 작업을 위해 배열 객체를 메소드에 전달할 수 있습니다. 아래 예제는 정수 배열 객체를 메서드에 전달하고 모든 배열 요소를 추가하는 방법을 보여줍니다.

public class ArrayDemo3 {

  public static void main(String[] args) {
    int[] num = {5,7,3,2,8};
    add(num);

  }
  
  public static void add(int[] num) {
    int sum = 0;
    for(int i=0;i<num.length;i++) {
      sum = sum + num[i];
    }
    System.out.println("Sum of array elements is : " + sum);
  }

}
Output:
Sum of array elements is : 25

메서드에서 배열 반환

우리는 또한 할 수있다. 배열을 반환 필요한 작업을 수행 한 후 메서드에서 주 메서드로 개체를 변경합니다.

public class ArrayDemo4 {

  public static void main(String[] args) {
    String[] arr = getArrayValues();
    for(String cities:arr) {
      System.out.println(cities);
    }
      

  }
  
  public static String[] getArrayValues() {
    String[] arrCities = {"Chennai","Bangalore","Delhi"};
    return arrCities;
  }

}
Output:
Chennai
Bangalore
Delhi

배열 조작

배열 Java는 java.util 패키지에 속합니다.. 아래와 같이 java.util.Array 클래스에서 지원하는 여러 작업이 있습니다.

  • Array 클래스의 copyOfRange 메서드를 사용하여 한 배열에서 다른 배열로 요소 범위를 복사 할 수 있습니다.
  • 인덱스를 기반으로 특정 값에 대한 배열 검색 (이진 검색)
  • equals 메소드를 사용하여 동일성을 확인하기 위해 배열과 비교
  • fill 메서드를 사용하여 인덱스에 특정 값을 배치하기 위해 배열을 채 웁니다.
  • 정렬 방법을 사용하여 배열 정렬

사용자 정의 개체를 사용하여 배열 만들기

Java에서는 문자열, 정수 등의 배열을 만드는 방법과 같이 사용자 정의 개체를 만들 수도 있습니다. 이것은 Student 배열 개체를 만들고 배열 개체를 초기화하는 방법의 예입니다.

public class ArrayDemo5 {

  public static void main(String[] args) {
    Student[] s = new Student[2];
    s[0] = new Student(111,"Ajit");
    s[1] = new Student(112,"Biju");
  }

}
 class Student{
  public int rollno;
  public String name;
  public Student(int rno,String n) {
    rollno = rno;
    name = n;
  }
}

결론

이 튜토리얼은 Java의 Arrays Class, Java의 배열 유형, 다양한 일러스트레이션으로 배열 선언, 생성 및 초기화에 대한 자세한 설명을 제공합니다.

참고