자바-배열

Java는 데이터 구조를 제공합니다. array, 동일한 유형의 요소의 고정 크기 순차 컬렉션을 저장합니다. 배열은 데이터 모음을 저장하는 데 사용되지만 배열을 동일한 유형의 변수 모음으로 생각하는 것이 더 유용합니다.

number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 numbers [0], numbers [1] 및 ..., numbers [99]를 사용하여 개별 변수.

이 자습서에서는 인덱스 변수를 사용하여 배열 변수를 선언하고, 배열을 만들고, 배열을 처리하는 방법을 소개합니다.

배열 변수 선언

프로그램에서 배열을 사용하려면 배열을 참조하는 변수를 선언하고 변수가 참조 할 수있는 배열 유형을 지정해야합니다. 다음은 배열 변수를 선언하는 구문입니다.

통사론

dataType[] arrayRefVar;   // preferred way.
or
dataType arrayRefVar[];  // works but not preferred way.

Note − 스타일 dataType[] arrayRefVar선호됩니다. 스타일dataType arrayRefVar[] C / C ++ 언어에서 비롯되었으며 C / C ++ 프로그래머를 수용하기 위해 Java에서 채택되었습니다.

다음 코드 조각은이 구문의 예입니다.

double[] myList;   // preferred way.
or
double myList[];   // works but not preferred way.

배열 생성

다음 구문으로 new 연산자를 사용하여 배열을 만들 수 있습니다.

통사론

arrayRefVar = new dataType[arraySize];

위의 진술은 두 가지를 수행합니다.

  • new dataType [arraySize]를 사용하여 배열을 생성합니다.

  • 새로 생성 된 배열의 참조를 변수 arrayRefVar에 할당합니다.

배열 변수를 선언하고, 배열을 만들고, 배열의 참조를 변수에 할당하는 것은 아래와 같이 하나의 문으로 결합 될 수 있습니다.

dataType[] arrayRefVar = new dataType[arraySize];

또는 다음과 같이 배열을 만들 수 있습니다-

dataType[] arrayRefVar = {value0, value1, ..., valuek};

배열 요소는 index. 배열 인덱스는 0부터 시작합니다. 즉, 0에서 시작하여arrayRefVar.length-1.

다음 명령문은 배열 변수 myList를 선언하고 이중 유형의 10 개 요소로 구성된 배열을 만들고 myList에 대한 참조를 할당합니다.

double[] myList = new double[10];

다음 그림은 배열 myList를 나타냅니다. 여기서 myList는 10 개의 이중 값을 보유하고 인덱스는 0에서 9까지입니다.

배열 처리

배열 요소를 처리 할 때 종종 다음 중 하나를 사용합니다. for 루프 또는 foreach 배열의 모든 요소가 동일한 유형이고 배열의 크기를 알고 있기 때문에 루프가 발생합니다.

다음은 배열을 생성, 초기화 및 처리하는 방법을 보여주는 완전한 예입니다.

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
     
      // Summing all elements
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      
      // Finding the largest element
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);  
   }
}

이것은 다음 결과를 생성합니다-

산출

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

foreach 루프

JDK 1.5는 인덱스 변수를 사용하지 않고 전체 배열을 순차적으로 순회 할 수 있도록하는 foreach 루프 또는 향상된 for 루프로 알려진 새로운 for 루프를 도입했습니다.

다음 코드는 배열 myList의 모든 요소를 ​​표시합니다-

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

이것은 다음 결과를 생성합니다-

산출

1.9
2.9
3.4
3.5

메서드에 배열 전달

기본 유형 값을 메서드에 전달할 수있는 것처럼 배열을 메서드에 전달할 수도 있습니다. 예를 들어, 다음 메서드는int 배열-

public static void printArray(int[] array) {
   for (int i = 0; i < array.length; i++) {
      System.out.print(array[i] + " ");
   }
}

배열을 전달하여 호출 할 수 있습니다. 예를 들어 다음 문은 printArray 메서드를 호출하여 3, 1, 2, 6, 4, 2를 표시합니다.

printArray(new int[]{3, 1, 2, 6, 4, 2});

메서드에서 배열 반환

메서드는 배열을 반환 할 수도 있습니다. 예를 들어, 다음 메서드는 다른 배열의 반전 인 배열을 반환합니다.

public static int[] reverse(int[] list) {
   int[] result = new int[list.length];

   for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
      result[j] = list[i];
   }
   return result;
}

배열 클래스

java.util.Arrays 클래스에는 배열 정렬 및 검색, 배열 비교 및 ​​배열 요소 채우기를위한 다양한 정적 메소드가 포함되어 있습니다. 이러한 메서드는 모든 기본 형식에 대해 오버로드됩니다.

Sr. 아니. 방법 및 설명
1

public static int binarySearch(Object[] a, Object key)

이진 검색 알고리즘을 사용하여 지정된 Object 배열 (Byte, Int, double 등)에서 지정된 값을 검색합니다. 이 호출을하기 전에 배열을 정렬해야합니다. 목록에 포함 된 경우 검색 키의 인덱스를 반환합니다. 그렇지 않으면 (– (삽입 지점 + 1))을 반환합니다.

2

public static boolean equals(long[] a, long[] a2)

지정된 두 long 배열이 서로 같으면 true를 반환합니다. 두 배열에 동일한 수의 요소가 포함되어 있고 두 배열에서 해당하는 모든 요소 쌍이 동일한 경우 두 배열은 동일한 것으로 간주됩니다. 두 배열이 같으면 true를 반환합니다. 다른 모든 기본 데이터 유형 (Byte, short, Int 등)에서 동일한 방법을 사용할 수 있습니다.

public static void fill(int[] a, int val)

지정된 int 배열의 각 요소에 지정된 int 값을 할당합니다. 다른 모든 기본 데이터 유형 (Byte, short, Int 등)에서 동일한 방법을 사용할 수 있습니다.

4

public static void sort(Object[] a)

요소의 자연스러운 순서에 따라 지정된 개체 배열을 오름차순으로 정렬합니다. 다른 모든 기본 데이터 유형 (Byte, short, Int 등)에서 동일한 방법을 사용할 수 있습니다.