상위 50개 어레이 인터뷰 질문 및 답변(2025년)

꿈의 직업을 갖기 위한 신입 지원자와 경력 지원자를 위한 Array 면접 질문과 답변은 다음과 같습니다. 배열은 프로그래밍의 필수적인 부분이며 C, C++, Python, Java 및 Perl과 같은 다양한 코딩 언어에서 배열을 사용합니다.

1) 배열이란 무엇을 의미합니까?

  • 배열은 유사한 데이터 유형의 집합입니다.
  • 배열 객체는 동일한 유형의 여러 변수를 저장합니다.
  • 기본 유형과 객체 참조를 보유할 수 있습니다.
  • 배열은 항상 고정되어 있습니다.

무료 PDF 다운로드: 어레이 인터뷰 질문 및 답변


2) 배열을 만드는 방법은 무엇입니까?

배열은 변수 선언과 유사하게 선언되지만 유형 뒤에 []를 추가해야 합니다. 예: int [] intArray; Java 배열은 다른 변수처럼 필드, 정적 필드, 지역 변수 또는 매개변수로 선언할 수 있습니다. 배열은 해당 유형의 변수들의 집합입니다. 다음은 몇 가지 Java 배열 선언 예시입니다.

String [] stringArray;
MyClass [] myClassArray;

다른 프로그래밍 언어의 경우도 마찬가지입니다.


3) 어레이의 장점과 단점은?

장점:

  • 스택, 큐, 연결 목록, 트리, 그래프 등과 같은 다른 데이터 구조를 배열에 배치할 수 있습니다.
  • 배열은 한 번에 여러 요소를 정렬할 수 있습니다.
  • 인덱스를 사용하여 Array의 요소에 액세스할 수 있습니다.

단점 :

  • 배열의 Size를 미리 선언해야 합니다. 그러나 배열을 선언할 때 필요한 크기가 무엇인지 알 수 없을 수도 있습니다.
  • 배열은 정적 구조입니다. 이는 배열 크기가 항상 고정되어 있으므로 메모리 할당을 늘리거나 줄일 수 없음을 의미합니다.

4) 런타임에 배열의 크기를 변경할 수 있나요?

아니요, 배열 크기를 변경할 수 없습니다. 크기 변경을 허용하는 유사한 데이터 유형이 있지만.

어레이 인터뷰 질문
어레이 인터뷰 질문

5) 배열의 크기를 지정하지 않고 배열을 선언할 수 있나요?

아니요, 크기를 지정하지 않고 배열을 선언할 수 없습니다. 크기를 지정하지 않고 배열을 선언하면 컴파일 시 오류가 발생합니다. 예: 마크 = 새로운 int []; //컴파일러 오류


6) 배열의 기본값은 무엇입니까?

모든 새로운 배열은 항상 다음과 같이 기본값으로 초기화됩니다.

  • byte, short, int, long의 경우 기본값은 0입니다.
  • float의 경우 double - 기본값은 0.0입니다.
  • 부울의 경우 기본값은 false입니다.
  • 객체의 경우 기본값은 null입니다.

7) 배열의 요소를 인쇄하는 방법은 무엇입니까?

다음은 배열의 요소를 인쇄하는 코드입니다.

int schoolmarks [] = {25, 30, 50, 10, 5 };

System.out.println (Arrays.toString (schoolmarks));

출력은 다음과 같습니다. [25]

배열의 요소


8) 두 어레이를 비교하는 방법은 무엇입니까?

2개의 배열이 동일한 크기 및 데이터 유형인 경우 "Arrays.equal ()"을 사용하여 비교할 수 있습니다.

int [] num1 = { 1, 2, 3 };

int[] num2 = { 4, 5, 6 };

System.out.println (Arrays. Equals (num1, num2)); //false

Int [] num3 = {1, 2, 3};

System.out.println (Arrays.equals (num1, num3)); //true

9) 배열을 정렬하는 방법은 무엇입니까?

배열이라는 내장된 정적 메서드를 사용하면 가능합니다. 종류 ().

Int Marks [] = {12, 5, 7, 9};

Arrays.sort(Marks);

System.out.println(Arrays.toString(Marks));//[5, 7, 9, 12]

10) 배열 크기를 음수로 선언할 수 있나요?

아니요. 음의 정수를 배열 크기로 선언할 수 없습니다. 선언하면 컴파일 타임 오류는 발생하지 않습니다. 하지만 런타임에 NegativeArraySizeException이 발생합니다.


11) ArrayStoreException은 언제 발생합니까?

런타임 예외입니다. 예를 들어 문자열 배열에는 문자열 요소만 저장할 수 있습니다. 누구든지 이 문자열 배열에 정수 요소를 삽입하려고 하면 런타임에 ArrayStoreException이 발생합니다.


12) 배열을 할당한 후 요소를 추가하거나 삭제할 수 있나요?

아니요, 불가능합니다.


13) 익명 배열의 의미는 무엇입니까? 예를 들어 설명하시겠습니까?

익명 배열은 참조가 없는 배열을 의미합니다. 예:-

//Creating anonymous arrays

System.out.println(new int[]{11, 12, 13, 14, 15}.length); //Output : 5

System.out.println(new int[]{31, 94, 75, 64, 41}[1]); //Output : 94 }}

14) int[] a와 int a[] 사이에 차이점이 있나요?

둘 다 별 차이 없음 적법한 성명서.


15) int형 배열 데이터형은 2가지가 있습니다. 하나는 50개의 요소를 포함하고 다른 하나는 30개의 요소를 포함합니다. 50개 요소의 배열을 30개 요소의 배열에 할당할 수 있나요?

예, 동일한 유형이어야 한다면 할당할 수 있습니다. 컴파일러는 크기가 아닌 배열의 유일한 유형을 확인합니다.

int[] ab = new int[30];

int[] cd = new int[50];

a = b; //Compiler checks only type, not the size

16) int a[] = new int[3]{1, 2, 3} – Java에서 배열을 선언하는 것이 올바른 방법입니까?

아니요. 배열 요소를 제공할 때 배열의 크기를 언급해서는 안 됩니다.


17) 배열을 다른 배열로 복사하는 방법은 무엇입니까?

아래의 네 가지 트릭은 Java에서 배열을 복사하는 데 사용할 수 있습니다.

  1. "For 루프" 사용
  2. "Arrays.copyOf()" 메소드 사용
  3. "System.arraycopy()" 메소드 사용
  4. “clone()” 메소드 사용

18) Java에서 "가변" 배열이란 무엇입니까?

들쭉날쭉한 배열은 배열이 서로 다른 길이의 배열을 포함하고 있습니다. 가변 배열은 다차원 배열이라고도 합니다.


19) ArrayIndexOutOfBoundsException이 발생하는 경우는 무엇입니까?

런타임 예외입니다. 프로그램이 배열의 유효하지 않은 인덱스에 액세스하려고 할 때 발생합니다. 인덱스가 배열 크기보다 크거나 음수 인덱스인 경우입니다.


20) Java에서 다차원 배열을 선언하는 다양한 단계를 설명할 수 있습니까?

//2D Arrays

int[][] twoArray1;

int twoArray2[][];

int[] twoArray3[];

//3D Arrays

int[][][] threeArray1;

int threeArray2[][][];

int[] threeArray3[][];

int[][] threeArray4[];

//4D Arrays

int[][][][] fourArray1;

int fourArray2[][][][];

int[] fourArray3[][][];

int[][] fourArray4[][];

int[][][] fourArray5[];

21) 배열의 특정 요소를 어떻게 검색합니까?

Arrays.binarySearch() 메소드를 사용할 수 있습니다. 이 방법은 이진 검색 알고리즘을 사용합니다.


22) 배열을 초기화하지 않으면 어떻게 됩니까?

배열에는 기본값이 있습니다.


23) 배열에서 중복된 요소를 어떻게 찾나요?

무차별 대입 방법 사용: 이 메서드에서는 배열의 각 요소를 다른 요소와 비교합니다. 두 요소가 같거나 동일한 경우 중복으로 선언합니다. 동일한 코드에 대한 내용은 아래를 참조하세요.

public class DuplicatesInArray {

public static void main(String[] args) {

String[] strArray1 = {"abc1", "def1", "mno1", "xyz1", "pqr1", "xyz1", "def1"};

for (int i = 0; i < strArray1.length-1; i++) {

for (int j = i+1; j < strArray1.length; j++) {

if( (strArray1[i].equals(strArray1[j])) && (i != j) ) {

System.out.println("Duplicates : "+strArray1[j]);

}}}} }

출력: 중복 요소는: def1 중복 요소는: xyz1


24) 어레이와 함께 Generics를 사용할 수 있습니까?

아니요, 배열에는 Generic을 사용할 수 없습니다.


25) 자바에서 배열을 반복하는 방법은 무엇입니까?

1) 일반 for 루프 사용

public class MainClass1

{

public static void main(String[] args)

{

int[] a1 = new int[]{45, 12, 78, 34, 89, 21};

//Iterating over an array using normal for loop

for (int i = 0; i < a1.length; i++)

{

System.out.println(a1[i]);

}}}

2) 확장된 새로운 for 루프 사용

public class MainClass1

{

public static void main(String[] args)
{
int[] a2 = new int[]{45, 12, 78, 34, 89, 21};

//Iterating over an array using extended for loop

for (int i: a2){

System.out.println(i);

}}}

26) Java에서 배열에 할당된 메모리는 어디에 있습니까?

Java에서는 배열이 객체이므로 배열에 대한 메모리는 항상 힙에 할당됩니다.


27) Java 배열의 클래스 이름을 알려주실 수 있나요?

배열은 객체입니다. 클래스 이름을 되찾기 위해 객체에 getClass().getName() 메소드를 사용할 수 있습니다.


28) "int a[] = new int[3]{1, 2, 3}" – 이것이 배열을 정의하는 합법적인 방법입니까?

아니요. 배열 요소를 제공할 때 배열의 크기를 선언하면 안 됩니다.


29) XNUMX차원 배열이란 무엇인가요?

Java의 배열 배열입니다. 우리는 그것들을 다음과 같이 선언할 수 있습니다.

int[][] p = new int[3][3]

이는 3×3의 행렬이다.


30) 자바에 3차원 배열이 있나요?

네, Java는 N차원 배열을 지원합니다. Java에서 다차원 배열은 배열의 배열일 뿐입니다. 예를 들어, 2차원 배열은 1차원 배열의 배열입니다.


31) Java에서 배열을 휘발성으로 만들 수 있나요?

예, Java에서는 배열을 휘발성으로 만들 수 있지만 배열을 가리키는 변수만 휘발성으로 만듭니다.


32) 아래 코드의 출력은 무엇입니까?

int myArr[] = new int [7];

System.out.print(myArr);

답변: 출력은 가비지 값입니다. myArr은 배열 변수이고, myArr이 정수이면 배열을 가리킵니다. myArr을 출력하면 가비지 값이 출력됩니다. 이는 myArr[0]을 출력하는 것과 다릅니다.


33) Java에서 배열 요소에 액세스하는 단계는 무엇입니까?

"index"를 사용하여 접근할 수 있습니다. Index는 0부터 시작하므로 첫 번째 요소는 1번 위치에 저장되고 마지막 요소는 Array.length - XNUMX이 됩니다. 예:- 문자열 strArr[] = new String []{“A”, “B”, “C”, “D”, “E”}; strArr[0]은 “A”를 의미하고 strArr[2]는 “C”를 의미합니다.


34) Array와 ArrayList의 차이점을 알려주실 수 있나요?

배열 ArrayList
배열은 일단 선언되면 변경할 수 없는 고정 크기의 정적 배열입니다. ArrayList는 정적이 아니지만 크기가 동적입니다. ArrayList에 요소가 추가되면 용량이나 크기가 자동으로 늘어납니다.
여기에는 기본 데이터 유형과 클래스 객체가 모두 포함됩니다. ArrayList에는 기본 데이터 유형이 포함되어 있지 않지만 개체 항목이 포함되어 있습니다.
어레이에는 일반 기능이 없습니다. ArrayList에는 제네릭 기능이 있습니다.

35) 우리는 배열이 객체라는 것을 알고 있는데 왜 strArray.length()를 작성할 수 없습니까?

배열은 Java의 클래스와 같은 객체 참조입니다. toString()과 같은 Object의 메소드와 Array에 대한 또 다른 hashCode() 메소드를 사용할 수 있습니다. 길이는 배열의 데이터 항목이므로 메소드가 아닙니다. 이것이 바로 우리가 strArray.length를 사용하는 이유입니다.


36) 1부터 7까지의 정수 배열에서 누락된 요소를 찾는 방법은 무엇입니까?

이 문제를 해결하기 위한 해결책은 배열에 있는 모든 숫자의 합계를 계산하고 예상 합계와 비교하는 것입니다. 차이점은 누락된 숫자입니다.

int ar [] = new int[]{1,2,3,5,6,7};
  • 숫자의 합을 구하세요
  • 합계 = n*(n+1)/2
  • 합계에서 모든 숫자를 빼고
  • 누락된 번호를 받게 됩니다.
  • 아래 논리에 따르면 sumOfNnumberss는 7*(7+1)/2=28입니다.

sumOfElements = 1+2+3+5+6+7=24 누락된 요소는 = 28-24=4입니다.

int n = ar.length+1;

int total = n*(n+1)/2;

for(int i =0;i<ar.length;i++){

total -=ar[i];}

System.out.println(total);

37) 배열에서 중복 항목을 찾는 방법은 무엇입니까?

String str = "HI RAHUL I AM FINE RAHUL"; // String with a duplicate word.

String[] words = str.split(" "); // Splitting and converting to Array .

for(int i = 0; i < words.length; i++){ //iterating array inside for loop

for(int j = i+1; j < words.length; j++){ //iterating same array inside another for loop

if (words[i].equals(words[j])){ // Using equal method i am verifying which word is repeating . System.out.println( words[i]); // here it will print duplicate .

}}}

38) 배열에 값이 포함되어 있는지 확인하는 방법은 무엇입니까?

다음은 값이 있는 String[]입니다.

public static final String[] myNames = new String[] {"B","A","K","C"};

myNames에 해당 값이 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 다음은 isExists()와 contains()라는 두 가지 메서드입니다. 두 메서드 모두 값을 사용할 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 첫 번째 방법 배열을 ArrayList로 변환합니다. 변환 후 배열에 값이 있는지 검사하여 true를 반환하고, 값이 없으면 false를 반환합니다.

public static <T> boolean isExists(final T[] array, final T object) {

return Arrays.asList(array).contains(object); }

두 번째 방법 이 메서드는 배열을 순회하며 equal() 메서드를 사용하여 요소를 검색합니다. 이 메서드는 Java에서 배열에 대한 선형 검색을 수행합니다. 배열에 값이 입력되면 true를 반환합니다.

public static <T> boolean contains(final T[] array, final T v) {

for (final T e : array) { if (e == v || v != null && v.equals(e)) {

return true;

} }

return false;

} }

39) 배열에서 가장 큰 숫자와 가장 작은 숫자를 얻는 방법은 무엇입니까?

답변: 이 문제의 논리:

  • 우리는 가장 큰 숫자와 가장 작은 숫자를 저장하기 위해 두 개의 변수를 사용합니다.
  • 먼저 Integer.MIN_VALUE로 가장 큰 값을 초기화하고
  • 다음으로 Integer.MAX_VALUE로 최소값을 초기화합니다.
  • for 루프를 반복할 때마다 현재 숫자를 가장 큰 숫자와 가장 작은 숫자와 비교하고 업데이트합니다.
  • 숫자가 최대값보다 크면 최소값보다 작을 수 없습니다. 즉, 첫 번째 조건이 참인지 확인할 필요가 없습니다.
  • if-else 코드 블록을 사용합니다. 여기서 else 부분은 첫 번째 조건이 false인 경우에만 실행됩니다.
import java.util.Arrays;

public class MaximumMinimumArrayExample{

public static void largestAndSmallest(int[] numbers) {

int largest = Integer.MIN_VALUE;

int smallest = Integer.MAX_VALUE;

for (int number : numbers) {

if (number > largest) {

largest = number;

}

else if (number < smallest) {

smallest = number;

} }
System.out.println("Largest is : " + largest);

System.out.println("Smallest is : " + smallest); } }

40) 두 개의 정렬된 배열의 교차점을 수행하는 방법은 무엇입니까?

답변: 논리: 두 배열 모두에 요소가 있거나 사용 가능한 경우 요소를 인쇄합니다.

  • 두 개의 인덱스 변수 i와 j를 사용하고 그 후 초기 값 i = 0, j = 0을 사용합니다.
  • arr01 [i]가 arr02 [j]보다 작으면 i를 증가시킵니다.
  • arr01 [i]가 arr02 [j]보다 크면 j를 증가시킵니다.
  • 둘 다 동일하면 둘 중 하나를 인쇄하고 i와 j를 모두 증가시킵니다.
public static void getIntersection(int arr01[], int arr02[], int m, int n){

int i = 0, j = 0;

while (i < m && j < n){

if (arr01[i] < arr02[j])

i++;

else if (arr02[j] < arr01[i])

j++;

else{

System.out.print(arr02[j++]+" ");

i++;

}

}

}

public static void main(String args[]){

int arr01[] = {1, 2, 4, 5, 6};

int arr02[] = {2, 3, 5, 7};

int m = arr01.length;

int n = arr02.length;

getIntersection(arr01, arr02, m, n);

}

41) 배열에서 상위 두 숫자를 얻는 방법은 무엇입니까?

답변: 논리는 다음과 같습니다.

  • Integer.MIN_VALUE를 사용하여 첫 번째 변수 max01을 할당합니다.

또한 두 번째 변수 max02는 max01과 동일하며 Integer.MIN_VALUE입니다.

  • 이 배열을 반복하고 각 숫자를 max01 및 max02와 비교합니다.
  • 현재 숫자가 max1보다 크면 max01 = 숫자, max02 = max1을 할당합니다.
  • 그렇지 않고 max02보다 큰 경우 max02만 현재 숫자로 업데이트합니다.
  • 반복이 끝나면 max01과 max02는 주어진 배열의 상위 두 숫자를 가리킵니다.
import java.util.Arrays;

public class TopTwoMaximumNumbers{

public static void main(String args[]) {

topTwoNumbers(new int[]{20, 34, 21, 87, 92, Integer.MAX_VALUE});

topTwoNumbers(new int[]{0, Integer.MIN_VALUE, -2});

topTwoNumbers(new int[]{Integer.MAX_VALUE, 0, Integer.MAX_VALUE});

topTwoNumbers(new int[]{1, 1, 0}); }

public static void topTwoNumbers(int[] numbers) {

int max01 = Integer.MIN_VALUE;

int max02 = Integer.MIN_VALUE; for (int number : numbers) {

if (number > max01) { max02 = max01; max01 = number; }

else if (number > max02) { max02 = number; } }

System.out.println("First largest number is : " + max01);

System.out.println("Second largest number is : " + max02); } }

42) 배열에서 요소를 자르거나 제거하는 방법은 무엇입니까?

답변: 논리는 다음과 같습니다. Apache Commons ArrayUtils를 사용하여 인덱스를 기반으로 요소를 제거하거나 잘라낼 수 있습니다. ArrayUtils에는 여러 개의 오버로드된 remove() 메서드가 있습니다.

import java.util.Arrays;

import org.apache.commons.lang.ArrayUtils;

public class RemoveFromArray{

public static void main(String args[]) {

//let's create an array for demonstration purpose

int[] testArr = new int[] { 10, 102, 13, 14, 105};

System.out.println("Array size : " + testArr.length );

System.out.println("Find Contents : " + Arrays.toString(testArr));

//let's remove or delete an element from Array using Apache Commons ArrayUtils

testArr = ArrayUtils.remove(testArr, 2); //removing element at index 2

//Size of array must be 1 less than original array after deleting an element

System.out.println("Size of array after removing : " + testArr.length);

System.out.println("Content of Array : "+ Arrays.toString(testArr));

} }

43) 배열을 뒤집는 논리는 무엇입니까?

답: 논리: 요소를 역순으로 인쇄합니다.

  • 선언
String Array String[] s = new String[]{"My","Leg","is","cut"};
  • for 루프를 사용하여 반복하면 모든 요소를 ​​역순으로 가져오므로 끝점에서 시작점까지를 의미합니다.
public static void main(String[] args)

{String[] s = new String[]{"My","Leg","is","cut"};

for(int i=s.length-1; i>=0; i--){

System.out.println("reverse "+s[i]);}}

44) 정수 배열에서 두 번째로 큰 요소를 어떻게 찾나요?

답변: 논리는 다음과 같습니다.

  • for 루프를 사용하여 주어진 배열을 반복합니다.
  • (먼저 조건 arr[i] > 가장 큰 경우):
  • 현재 배열 값이 가장 큰 값보다 큰 경우
  • 가장 큰 값을 secondLargest로 이동하고 현재 값을 가장 큰 값으로 만듭니다.
  • (두 번째 if 조건 arr[i] > secondLargest )
  • 현재 값이 최대값보다 작은 경우

secondLargest보다 크면 현재 값은 다음과 같습니다.

public static void main(String[] args) {

int myArr[] = { 14, 46, 47, 86, 92, 52, 48, 36, 66, 85 };

int largest = myArr[0];

int secondLargest = myArr[0];

System.out.println("The given array is:" );

for (int i = 0; i < myArr.length; i++) {

System.out.print(myArr[i]+"\t");

}

for (int i = 0; i < myArr.length; i++) {

if (myArr[i] > largest) {

secondLargest = largest;

largest = myArr[i];

} else if (myArr[i] > secondLargest) {secondLargest = myArr[i];

}}

System.out.println("\nSecond largest number is:" + secondLargest);

}

45) 주어진 배열의 값을 합산하는 프로그램을 작성하세요.

답변: 논리는 다음과 같습니다.

  • sum =0인 int 변수를 선언하고 할당합니다.
  • for 루프를 사용하여 주어진 배열을 반복합니다.
  • 모든 배열 요소를 추가하고 합계인 이 변수를 유지합니다.
Public static void main(String[] args) {

int my_array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

int sum = 0;

for (int i: my_array)

sum += i;

System.out.println("The sum is " + sum);

}

46) 배열에서 XNUMX과 XNUMX이 아닌 값을 어떻게 구분합니까?

답변: 논리는 다음과 같습니다.

  • 카운터를 0으로 초기화하는 중
  • inputArray를 왼쪽에서 오른쪽으로 탐색
  • inputArray[i]가 XNUMX이 아닌 경우
  • inputArray[i]를 inputArray[counter]에 할당
  • 카운터를 1씩 증가
  • 나머지 요소에 XNUMX 할당
Public class SeparateZerosFromNonZeros

{ static void moveZerosToEnd(int inputArray[]) { int counter = 0;

for (int i = 0; i < inputArray.length; i++)

{

if(inputArray[i] != 0) {

inputArray[counter] = inputArray[i];

counter++;

} }

while (counter < inputArray.length) {

inputArray[counter] = 0;

counter++; }

System.out.println(Arrays.toString(inputArray));

}

public static void main(String[] args) {

moveZerosToEnd(new int[] {12, 0, 7, 0, 8, 0, 3});

moveZerosToEnd(new int[] {1, -5, 0, 0, 8, 0, 1});

moveZerosToEnd(new int[] {0, 1, 0, 1, -5, 0, 4});

moveZerosToEnd(new int[] {-4, 1, 0, 0, 2, 21, 4});

} }

47) 배열의 특정 위치에 요소를 삽입하는 프로그램을 작성하시겠습니까?

답변: 논리는 다음과 같습니다.

  • 배열의 세 번째 위치에 요소를 삽입합니다(색인->3, 값->2).
  • for 루프를 사용하여 주어진 배열을 역순으로 반복합니다.
  • 이제 for 루프 뒤에 주어진 위치와 값을 삽입하십시오.
Public static void main(String[] args) {

int[] my_array = {25, 14, 56, 15, 36, 56, 77, 18, 29, 49};

int Index_position = 2;

int newValue = 5;

System.out.println("Original Array : "+Arrays.toString(my_array));

for(int i=my_array.length-1; i > Index_position; i--){

my_array[i] = my_array[i-1];
}my_array[Index_position] = newValue;

System.out.println("New Array: "+Arrays.toString(my_array));

}

48) 배열 요소의 인덱스를 얻는 방법은 무엇입니까?

답변: 논리는 다음과 같습니다.

  • 각 단계에서 입력된 키 값을 배열의 중간 요소 값으로 확인합니다.
  • 키가 일치하면 위치가 반환됩니다. 또 다른 경우, 키가 중간 요소의 키보다 작은 경우,
  • 그런 다음 while 루프를 반복합니다. 나머지 배열을 검색하여 1으로 줄이면 -XNUMX을 반환하고 찾을 수 없음을 의미합니다.
public static int findIndex (int[] my_array, int t) {

int startPoint = 0;

int endPoint = my_array.length - 1;

while (startPoint <= endPoint) {

int mid = (startPoint + end) / 2;

if (key == my_array[mid]) {

return mid;

}

if (key < my_array[mid]) {

endPoint = mid - 1;
} else {

startPoint = mid + 1;

}

}

return -1;

}

Public static void main(String[] args) {

int[] arr = {2, 4, 6, 8, 10, 12, 14, 16};

System.out.println("Key 14's position: "findIndex(arr, 14));

int[] arr1 = {6,34,78,123,432,900};

System.out.println("Key 432's position: "+findIndex(arr1, 432));

}

49) 초기화 후에 배열을 확장할 수 있나요?

답변: 논리적으로 말하면, 초기화 후 새 배열을 추가하여 배열을 확장할 수 있습니다. 아래 예를 참조하세요.

Public static void main(String[] args) {

String [] names = new String[] { "A", "B", "C" };

String [] extended = new String[5];

extended [3] = "D";

extended [4] = "E";

System.arraycopy(names, 0, extended, 0, names.length);

//here we are extending with new array extended[3] and extended[4].

for (String str: extended){

System.out.println(str);

}

}

출력은 A,B,C,D,E입니다.


50) 배열의 요소를 채우는 방법(한 번에 초기화하는 방법)은 무엇입니까?

답변: 이 예제에서는 Array.fill(배열 이름, 값) 메서드와 Java Util 클래스의 Array.fill(배열 이름, 시작 인덱스, 끝 인덱스, 값) 메서드를 사용하여 배열의 모든 요소를 ​​한 번에 초기화합니다.

import java.util.*;

public class FillTest {

public static void main(String args[]) {

int array[] = new int[6];

Arrays.fill(array, 100);

for (int i = 0, n = array.length; i < n; i++) {

System.out.println(array[i]);

}

System.out.println();

Arrays.fill(array, 3, 6, 50);

for (int i = 0, n = array.length; i< n; i++) {

System.out.println(array[i]);}}}

출력은

100,100,100,100,100,100

100,100,100,50,50,50
공유

댓글 2

  1. 화신 슈레얀쉬 말한다 :

    함수에 매개변수로 배열을 전달하는 것은 어떻습니까?

  2. 화신 아리마누 싱 말한다 :

    Q14 a[]와 []a의 차이점

    첫 번째 유형 선언 후에는 다른(동일한 데이터 유형) 배열을 생성할 수 없습니다.
    하지만 두 번째 유형 선언 이후에는 가능합니다.
    Int []a, b, c= 새로운 int[크기]

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *