As 50 principais perguntas e respostas da entrevista sobre array (2025)

Aqui estão as perguntas e respostas da entrevista do Array para calouros e também para candidatos experientes para conseguir o emprego dos sonhos. Matrizes são parte integrante da programação e várias linguagens de codificação como C, C++, Python, Java e Perl usam matrizes.

1) O que você quer dizer com Array?

  • Array é um conjunto de tipos de dados semelhantes.
  • Objetos arrays armazenam múltiplas variáveis ​​com o mesmo tipo.
  • Ele pode conter tipos primitivos e referências de objetos.
  • Matrizes são sempre fixas

Download gratuito de PDF: matriz de perguntas e respostas da entrevista


2) Como criar um Array?

Um Array é declarado de forma semelhante a uma variável, mas você precisa adicionar [] após o tipo. Exemplo: int [] intArray; Podemos declarar um array em Java como um campo, um campo estático, uma variável local ou um parâmetro, como qualquer outra variável. Um array é uma coleção de variáveis ​​desse tipo. Aqui estão mais alguns exemplos de declaração de array em Java:

String [] stringArray;
MyClass [] myClassArray;

O mesmo acontece com outras linguagens de programação.


3) Vantagens e desvantagens do Array?

Vantagens:

  • Podemos implementar outras estruturas de dados como pilhas, filas, listas vinculadas, árvores, gráficos, etc.
  • Matrizes podem classificar vários elementos ao mesmo tempo.
  • Podemos acessar um elemento do Array usando um índice.

Desvantagens:

  • Temos que declarar o tamanho de um array com antecedência. No entanto, podemos não saber o tamanho que precisamos no momento da declaração do array.
  • A matriz é uma estrutura estática. Isso significa que o tamanho do array é sempre fixo, portanto não podemos aumentar ou diminuir a alocação de memória.

4) Podemos alterar o tamanho de um array em tempo de execução?

Não, não podemos alterar o tamanho do array. Embora existam tipos de dados semelhantes disponíveis que permitem uma alteração no tamanho.

Perguntas da entrevista de matriz
Perguntas da entrevista de matriz

5) Você pode declarar um array sem atribuir o tamanho de um array?

Não, não podemos declarar um array sem atribuir tamanho. Se declararmos um array sem tamanho, ocorrerá um erro de compilação. Exemplo: marcas = novo int []; //ERRO DO COMPILADOR


6) Qual é o valor padrão do Array?

Qualquer novo Array é sempre inicializado com um valor padrão como segue

  • Para byte, short, int, long – o valor padrão é zero (0).
  • Para float, double – o valor padrão é 0.0.
  • Para Booleano – o valor padrão é falso.
  • Para objeto – o valor padrão é nulo.

7) Como imprimir elemento do Array?

Aqui está o código para imprimir o elemento do array.

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

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

O resultado é: [25, 30, 50, 10, 5]

Elemento de matriz


8) Como comparar dois arrays?

Se 2 arrays forem do mesmo tamanho e tipo de dados, a comparação pode ser feita usando “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) Como ordenar um Array?

É possível usar o método estático construído que é Arrays. organizar ().

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

Arrays.sort(Marks);

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

10) Podemos declarar o tamanho do array como um número negativo?

Não. Não podemos declarar o inteiro negativo como um tamanho de array. Se o fizermos, não haverá erro de compilação. No entanto, receberemos uma exceção NegativeArraySizeException em tempo de execução.


11) Quando obteremos ArrayStoreException?

É uma exceção de tempo de execução. Por exemplo, podemos armazenar apenas elementos de string em um String Array. Se alguém tentar inserir um elemento inteiro neste String Array, obteremos ArrayStoreException em tempo de execução.


12) Podemos adicionar ou excluir um elemento após atribuir um array?

Não, não é possível.


13) Qual é o significado de array anônimo? Explique com um exemplo?

Matriz anônima significa matriz sem qualquer referência. Exemplo:-

//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) Existe alguma diferença entre int[] a e int a[]?

Não há diferença, ambos são os legal declaração.


15) Existem 2 tipos de dados de array do tipo int. Um contém 50 elementos e outro contém 30 elementos. Podemos atribuir o array de 50 elementos a um array de 30 elementos?

Sim, podemos atribuir desde que sejam do mesmo tipo. O compilador verificará o único tipo do array, não o tamanho.

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} – é a maneira correta de declarar arrays em java?

Não. Não devemos mencionar o tamanho do array quando fornecemos os elementos do array.


17) Como copiar um array para outro array?

Abaixo estão quatro truques disponíveis em java para copiar um array.

  1. Usando “Loop For”
  2. Usando o método “Arrays.copyOf()”
  3. Usando o método “System.arraycopy()”
  4. Usando o método “clone()”

18) O que são arrays “irregulares” em java?

Matrizes irregulares são matrizes que contêm matrizes de comprimentos diferentes. Matrizes irregulares também são conhecidas como matrizes multidimensionais.


19) Quando ocorre ArrayIndexOutOfBoundsException?

É uma exceção de tempo de execução. Ela ocorre quando o programa tenta acessar um índice inválido de um array. Índice maior que o tamanho do array ou índice negativo.


20) Você pode explicar as diferentes etapas de declaração de arrays multidimensionais em 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) Como pesquisamos um elemento específico em um array?

Podemos usar o método Arrays.binarySearch(). Este método usa algoritmo de pesquisa binária.


22) Se você não inicializar um array o que acontecerá?

Array terá valor padrão.


23) Como encontramos elementos duplicados em um array?

Usando o método de força bruta: Neste método, comparamos cada elemento de um array com outros elementos. Se dois elementos forem iguais ou iguais, os declaramos como duplicados. Veja abaixo o código para o mesmo

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]);

}}}} }

Saída: O elemento duplicado é: def1 O elemento duplicado é: xyz1


24) Podemos usar Genéricos com o array?

Não, não podemos usar Genérico com um array.


25) Como iterar um array em java?

1) Usando loop for normal

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) Usando novo loop for estendido

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) Onde está a memória alocada para arrays em Java?

Em Java, a memória para arrays é sempre alocada no heap, pois os arrays em Java são objetos.


27) Você pode me dizer o nome da classe de um array em Java?

Matriz é um objeto. Para retirar o nome da classe, podemos usar o método getClass().getName() no objeto.


28) “int a[] = new int[3]{1, 2, 3}” – Esta é uma forma legal de definir os arrays?

Não. Não devemos declarar o tamanho do array quando fornecemos os elementos do array.


29) Qual é a matriz bidimensional?

Uma matriz de uma matriz em Java. Podemos declará-los como

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

que é uma matriz de 3×3.


30) Temos arrays tridimensionais em Java?

Sim, Java suporta arrays N-dimensionais. Um array multidimensional em Java nada mais é do que um array de arrays. Exemplo: um array bidimensional é um array de arrays unidimensionais.


31) Podemos tornar o array volátil em Java?

Sim, podemos tornar um array volátil em Java, mas apenas tornamos volátil a variável que aponta para o array.


32) Qual será a saída do código abaixo?

int myArr[] = new int [7];

System.out.print(myArr);

Resposta: A saída será um valor lixo. myArr é uma variável de array, myArr aponta para um array se for de inteiros. Imprimir myArr imprimirá um valor lixo. Não é o mesmo que imprimir myArr[0].


33) Qual é o passo para acessar os elementos de um array em Java?

Podemos acessar usando “index”. O índice começa em Zero(0), então o primeiro elemento é armazenado na posição zero e o último elemento será Array.length – 1. Exemplo:- String strArr[] = new String []{“A”, “B”, “C”, “D”, “E”}; strArr[0] significa “A” e strArr[2] significa “C”.


34) Você pode me dizer as diferenças entre Array e ArrayList?

Ordem Lista de Matriz
A matriz é estática com um tamanho fixo que não pode ser alterado depois de declarado. ArrayList não é estático, mas de tamanho dinâmico. À medida que elementos são adicionados a um ArrayList, sua capacidade ou tamanho aumenta automaticamente.
Ele contém tipos de dados primitivos e objetos de uma classe. ArrayList não contém os tipos de dados primitivos, mas contém entradas de objetos.
Array não possui recurso Genéricos. ArrayList tem o recurso Genéricos.

35) Sabemos que Arrays são objetos, então por que não podemos escrever strArray.length()?

Matrizes são referências de objetos como classes em Java. Podemos usar os métodos de Object como toString() e outro hashCode() contra Array. Comprimento é um item de dados de uma matriz e, portanto, não é um método. É por isso que estamos usando strArray.length.


36) Como encontrar o elemento que falta no array inteiro de 1 a 7?

A solução para resolver este problema é calcular a soma de todos os números do array e comparar com uma soma esperada, a diferença seria o número que faltava.

int ar [] = new int[]{1,2,3,5,6,7};
  • Obtenha a soma dos números
  • total = n*(n+1)/2
  • Subtraia todos os números da soma e
  • você receberá o número que falta.
  • De acordo com a lógica abaixo, sumOfNnumberss é 7*(7+1)/2=28

sumOfElements = 1+2+3+5+6+7=24 elemento faltante é = 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) Como encontrar a duplicata em um array?

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) Como verificar se o array contém valor ou não?

Aqui está uma String[] com valores

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

Se myNames contiver esse valor, retornará true, caso contrário, false. Aqui estão os dois métodos isExists() e contains(). Ambos os métodos retornam true se o valor estiver disponível, caso contrário, false. Primeiro Método Ele converte um array para ArrayList. Depois disso, ele testa se o array contém algum valor e retorna true, caso contrário, false.

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

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

Segundo Método Este método percorre um array e usa o método equal() para buscar elementos. Na verdade, ele realiza uma busca linear em um array em Java. Retornará verdadeiro se um array tiver fornecido um valor.

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) Como obter o maior e o menor número em um array?

Resposta: Lógica deste problema:

  • Usamos duas variáveis ​​para armazenar o maior e o menor número.
  • Primeiro, inicializamos maior com Integer.MIN_VALUE e
  • A seguir, inicializamos o menor com Integer.MAX_VALUE.
  • Em cada iteração do loop for, compararemos o número atual com o maior e o menor número e atualizaremos
  • Se um número for maior que o maior, então não pode ser menor que o menor. Isso significa que não há necessidade de verificar se a primeira condição é verdadeira,
  • Usaremos o bloco de código if-else, onde a parte else só será executada se a primeira condição for falsa significa não verdadeira.
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) Como fazer a interseção de dois arrays ordenados?

Resp: Lógica: imprima o elemento se o elemento estiver presente ou disponível em ambos os arrays.

  • Use duas variáveis ​​de índice i e j, depois inicialize os valores i = 0, j = 0
  • Se arr01 [i] for menor que arr02 [j], então incremente i.
  • Se arr01 [i] for maior que arr02 [j], então incremente j.
  • Se ambos forem iguais, imprima qualquer um deles e incremente i e 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) Como obter os dois primeiros números de um array?

Resposta: Lógica é:

  • Atribuiremos a primeira variável max01 com Integer.MIN_VALUE

Além disso, a segunda variável max02 é igual a max01 que é Integer.MIN_VALUE.

  • Iremos iterar esse array e comparar cada número com max01 e max02,
  • Se o número atual for maior que max1, atribua max01 = número e max02 = max1.
  • Caso contrário, se for apenas maior que max02, atualizaremos max02 apenas com o número atual.
  • No final de uma iteração, max01 e max02 apontam para os dois primeiros números de um determinado array.
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) Como cortar ou remover um elemento do array?

Resposta: A lógica é: podemos remover ou cortar um elemento usando o Apache Commons ArrayUtils com base em um índice. O ArrayUtils tem vários métodos remove() sobrecarregados.

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) Qual a lógica para reverter o array?

Resp: Lógica: imprima o elemento na ordem inversa.

  • Declare um
String Array String[] s = new String[]{"My","Leg","is","cut"};
  • Itere usando o loop for para obter todos os elementos na ordem inversa, significa ponto final para ponto inicial.
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) Como você encontra o segundo maior elemento em uma matriz de inteiros?

Resposta: Lógica é:

  • Itere o array fornecido usando o loop for.
  • (primeiro se a condição arr[i] > maior):
  • Se o valor atual da matriz for maior que o maior valor, então
  • Mova o maior valor para secondLargest e torne o valor atual o maior
  • (segundo if condição arr[i] > secondLargest )
  • Se o valor atual for menor que o maior e

maior que secondLargest então o valor atual se torna

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) Escreva um programa para somar os valores de um determinado array.

Resposta: Lógica é:

  • Declare e atribua uma variável int que seja soma = 0.
  • Itere o array fornecido usando o loop for.
  • Adicione todos os elementos do array e mantenha nesta variável que é a soma.
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) Como você separa zeros de diferentes de zero em um array?

Resposta: Lógica é:

  • Inicializando o contador para 0
  • Percorrendo inputArray da esquerda para a direita
  • Se inputArray[i] for diferente de zero
  • Atribuindo inputArray[i] a inputArray[counter]
  • Aumentando o contador em 1
  • Atribuindo zero aos elementos restantes
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) Escreva um programa para inserir um elemento e na posição específica do array?

Resposta: Lógica é:

  • Insira um elemento na 3ª posição do array (índice->2, valor->5)
  • Itere o array fornecido na ordem inversa usando o loop for.
  • Agora insira a posição e o valor fornecidos após o loop 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) Como obter o índice de um elemento do array?

Resposta: Lógica é:

  • Em cada etapa, ele verifica o valor da chave de entrada com o valor do elemento intermediário de um array.
  • Se as chaves corresponderem, ele retornará a posição. Em outro caso, se a chave for menor que a chave do elemento do meio,
  • Então ele repetirá o loop while. Se o array restante pesquisado e reduzido a zero retornará -1 significa não encontrado
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) Podemos estender um array após a inicialização?

Resposta: A lógica é: podemos estender um array após a inicialização adicionando um novo array. Veja o exemplo abaixo.

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 saída é A, B, C, D, E.


50) Como preencher um elemento (inicializar de uma vez) em um array?

Resposta: Este exemplo preenche (inicializa todos os elementos do array em um curto) um array usando o método Array.fill(nome do array,valor) e o método Array.fill(nome do array, índice inicial, índice final, valor) da classe Java Util.

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]);}}}

saída é

100,100,100,100,100,100

100,100,100,50,50,50
Compartilhar

2 Comentários

  1. Que tal passar array como parâmetros para funções

  2. Avatar Arymanu Singh diz:

    Q14 diferença entre a[] e []a

    Após a primeira declaração de tipo você não pode criar outro array (mesmo tipo de dados).
    Mas você pode, após a segunda declaração de tipo, ou seja.
    Int []a, b, c= novo int[tamanho]

Deixa um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *