50 suosituinta haastattelun kysymystä ja vastausta (2025)

Tässä Array-haastattelukysymyksiä ja vastauksia niin fuksilaisille kuin kokeneille hakijoille unelmatyönsä saamiseksi. Taulukot ovat olennainen osa ohjelmointia, ja useat koodauskielet, kuten C, C++, Python, Java ja Perl, käyttävät taulukoita.

1) Mitä tarkoitat taulukolla?

  • Array on joukko samantyyppisiä tietotyyppejä.
  • Array-objektit tallentavat useita samantyyppisiä muuttujia.
  • Se voi sisältää primitiivisiä tyyppejä ja objektiviittauksia.
  • Taulukot ovat aina kiinteitä

Ilmainen PDF-lataus: Array Interview Questions & Answers


2) Kuinka luoda taulukko?

Array ilmoitetaan samalla tavalla kuin muuttuja, mutta sinun on lisättävä [] tyypin jälkeen. Esimerkiksi: int [] intArray; Voimme määrittää Java-taulukon kenttänä, staattisena kenttänä, paikallisena muuttujana tai parametrina, kuten minkä tahansa muun muuttujan. Taulukko on kokoelma kyseisen tyyppisiä muuttujia. Tässä on muutamia esimerkkejä Java-taulukon määrittelystä:

String [] stringArray;
MyClass [] myClassArray;

Sama pätee muihin ohjelmointikieliin.


3) Arrayn edut ja haitat?

edut:

  • Voimme asettaa taulukkoon muita tietorakenteita, kuten pinoja, jonoja, linkitettyjä listoja, puita, kaavioita jne.
  • Taulukot voivat lajitella useita elementtejä kerrallaan.
  • Voimme käyttää Array-elementtiä indeksin avulla.

Haitat:

  • Meidän on ilmoitettava taulukon koko etukäteen. Emme kuitenkaan välttämättä tiedä, mitä kokoa tarvitsemme taulukon määrityksen aikana.
  • Taulukko on staattinen rakenne. Se tarkoittaa, että taulukon koko on aina kiinteä, joten emme voi lisätä tai vähentää muistin varausta.

4) Voimmeko muuttaa taulukon kokoa ajon aikana?

Ei, emme voi muuttaa taulukon kokoa. Vaikka saatavilla on samanlaisia ​​​​tietotyyppejä, jotka mahdollistavat koon muuttamisen.

Array-haastattelukysymykset
Array-haastattelukysymykset

5) Voitko ilmoittaa taulukon määrittämättä taulukon kokoa?

Emme voi määrittää taulukkoa ilman koon määrittämistä. Jos määritämme taulukon ilman kokoa, se heittää käännösaikaisen virheen. Esimerkiksi: merkit = uusi int []; //KÄÄNTÄJÄVIRHE


6) Mikä on Arrayn oletusarvo?

Kaikki uudet taulukot alustetaan aina oletusarvolla seuraavasti

  • Tavulle, lyhyt, int, pitkä – oletusarvo on nolla (0).
  • Floatille kaksinkertainen – oletusarvo on 0.0.
  • Boolen oletusarvo on epätosi.
  • Objektille – oletusarvo on null.

7) Kuinka tulostaa Array-elementti?

Tässä on koodi taulukon elementin tulostamiseen.

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

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

Lähtö on: [25, 30, 50, 10, 5]

Taulukon elementti


8) Kuinka vertailla kahta taulukkoa?

Jos 2 taulukkoa ovat samankokoisia ja samantyyppisiä, vertailu voidaan tehdä käyttämällä "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) Kuinka lajitella taulukko?

Se on mahdollista käyttämällä rakennettua staattista menetelmää, joka on Arrays. lajitella ().

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

Arrays.sort(Marks);

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

10) Voimmeko ilmoittaa taulukon koon negatiiviseksi numeroksi?

Ei. Emme voi määrittää negatiivista kokonaislukua taulukon kokona. Jos määritämme sen, käännösaikaista virhettä ei tapahdu. Suorituksen aikana saamme kuitenkin NegativeArraySizeException-poikkeuksen.


11) Milloin saamme ArrayStoreExceptionin?

Se on ajonaikainen poikkeus. Voimme esimerkiksi tallentaa vain merkkijonoelementtejä merkkijonotaulukkoon. Jos joku yrittää lisätä kokonaislukuelementin tähän merkkijonotaulukkoon, saamme ArrayStoreExceptionin ajon aikana.


12) Voimmeko lisätä tai poistaa elementin taulukon määrittämisen jälkeen?

Ei, se ei ole mahdollista.


13) Mitä anonyymi taulukko tarkoittaa? Selitä esimerkillä?

Anonyymi array tarkoittaa taulukkoa ilman viittausta. Esimerkki: -

//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) Onko int[] a:n ja int a[]:n välillä eroa?

Ei eroa molemmilla juridinen lausuma.


15) On olemassa 2 int-tyyppistä taulukkotietotyyppiä. Yksi sisältää 50 elementtiä ja toinen sisältää 30 elementtiä. Voimmeko määrittää 50 elementin taulukon 30 elementin taulukkoon?

Kyllä, voimme määrittää, jos ne ovat samaa tyyppiä. Kääntäjä tarkistaa taulukon ainoan tyypin, ei kokoa.

int[] ab = new int[30];

int[] cd = new int[50];

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

16) int a[] = uusi int[3]{1, 2, 3} – onko oikea tapa ilmoittaa taulukoita javassa?

Ei. Meidän ei pitäisi mainita taulukon kokoa, kun annamme taulukon elementtejä.


17) Kuinka kopioida taulukko toiseen taulukkoon?

Alla neljä temppua on saatavana Javassa taulukon kopioimiseen.

  1. "For loop" käyttö
  2. Käyttämällä "Arrays.copyOf()" -menetelmää
  3. Käyttämällä "System.arraycopy()" -menetelmää
  4. Käytä "clone()"-menetelmää

18) Mitä ovat "sahaiset" taulukot Javassa?

Jagged Arrays ovat Matriisit sisältävät eri pituisia taulukoita. Jagged taulukot tunnetaan myös moniulotteisina taulukoina.


19) Milloin ArrayIndexOutOfBoundsException esiintyy?

Tämä on ajonaikainen poikkeus. Se tapahtuu, kun ohjelma yrittää käyttää virheellistä taulukon indeksiä. Indeksi on suurempi kuin taulukon koko tai negatiivinen indeksi.


20) Voitko selittää eri vaiheita moniulotteisten taulukoiden ilmoittamisessa Javassa?

//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) Kuinka etsimme tiettyä elementtiä taulukosta?

Voimme käyttää Arrays.binarySearch() -menetelmää. Tämä menetelmä käyttää binaarihakualgoritmia.


22) Jos et alusta taulukkoa, mitä tapahtuu?

Arraylla on oletusarvo.


23) Kuinka löydämme päällekkäisiä elementtejä taulukosta?

Brute Force -menetelmän käyttäminen: Tässä menetelmässä vertaamme taulukon jokaista elementtiä muihin elementteihin. Jos mitkä tahansa kaksi elementtiä ovat yhtä suuria tai samoja, ne julistetaan duplikaateiksi. Alla on koodi samalle menetelmälle.

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

}}}} }

Tuloste: Kaksoiskappale on: def1 Kaksoiskappale on: xyz1


24) Voimmeko käyttää Genericsiä taulukon kanssa?

Ei, emme voi käyttää yleistä taulukon kanssa.


25) Kuinka iteroida taulukkoa javassa?

1) Normaalin silmukan käyttäminen

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) Laajennettu uusi silmukka

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) Missä on muistia Java-taulukoille?

Javassa taulukoiden muisti on aina varattu kasaan, koska Javassa taulukot ovat objekteja.


27) Voitko kertoa minulle Java-taulukon luokan nimen?

Array on objekti. Luokan nimen palauttamiseksi voimme käyttää objektissa menetelmää getClass().getName().


28) "int a[] = uusi int[3]{1, 2, 3}" – Onko tämä laillinen tapa määrittää taulukot?

Ei. Meidän ei pitäisi ilmoittaa taulukon kokoa, kun annamme taulukon elementtejä.


29) Mikä on kaksiulotteinen taulukko?

Joukko taulukosta Javassa. Voimme julistaa ne sellaisiksi

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

joka on 3×3 matriisi.


30) Onko meillä Javassa 3-ulotteisia taulukoita?

Kyllä, Java tukee N-ulotteista taulukkoa. Moniulotteinen taulukko Javassa on vain taulukkojen taulukko. Esimerkki: 2-ulotteinen taulukko on 1-ulotteisen taulukon taulukko.


31) Voimmeko tehdä taulukosta haihtuvan Javassa?

Kyllä, voimme tehdä taulukosta haihtuvan Javassa, mutta teemme vain muuttujasta, joka osoittaa taulukkoon haihtuvan.


32) Mikä on alla olevan koodin tulos?

int myArr[] = new int [7];

System.out.print(myArr);

Vastaus: Tulosteena on roska-arvo. myArr on taulukkomuuttuja, myArr osoittaa taulukkoon, jos se on kokonaislukuja. myArr-muuttujasta tulostetaan roska-arvo. Se ei ole sama asia kuin myArr[0]-muuttujasta tulostetaan.


33) Mikä on vaihe Java-taulukon elementtien käyttämiseksi?

Voimme käyttää sitä käyttämällä "index"-metodia. Indeksi alkaa kohdasta Zero(0), joten ensimmäinen alkio tallennetaan paikkaan nolla ja viimeinen alkio on Array.length – 1. Esimerkki: - Merkkijono strArr[] = uusi merkkijono []{“A”, “B”, “C”, “D”, “E”}; strArr[0] tarkoittaa “A”:ta ja strArr[2] tarkoittaa “C:tä”.


34) Voitko kertoa minulle Arrayn ja ArrayListin väliset erot?

Ryhmä ArrayList
Taulukko on staattinen, ja sen koko on kiinteä, jota ei voi muuttaa, kun se on poistettu. ArrayList ei ole staattinen, vaan dynaaminen. Kun ArrayListin elementtejä lisätään, sen kapasiteetti tai koko kasvaa automaattisesti.
Se sisältää sekä primitiivisiä tietotyyppejä että luokan objekteja. ArrayList ei sisällä primitiivisiä tietotyyppejä, mutta sisältää objektimerkintöjä.
Arraylla ei ole Generics-ominaisuutta. ArrayListissä on Generics-ominaisuus.

35) Tiedämme, että taulukot ovat objekteja, joten miksi emme voi kirjoittaa strArray.length()?

Taulukot ovat objektiviittauksia, kuten Java-luokkia. Voimme käyttää Objectin menetelmiä kuten toString () ja toista hashCode () Arraya vastaan. Pituus on taulukon tietoyksikkö, joten se ei ole menetelmä. Siksi käytämme strArray.length-tiedostoa.


36) Kuinka löytää puuttuva elementti kokonaislukutaulukosta 1-7?

Ratkaisu tämän ongelman ratkaisemiseksi on laskea kaikkien taulukon lukujen summa ja verrata odotettua summaa, ero olisi puuttuva luku.

int ar [] = new int[]{1,2,3,5,6,7};
  • Hanki lukujen summa
  • yhteensä = n*(n+1)/2
  • Vähennä kaikki luvut summasta ja
  • saat puuttuvan numeron.
  • Alla olevan logiikan mukaan sumOfNnumberss on 7*(7+1)/2=28

sumOfElements = 1+2+3+5+6+7=24 puuttuva elementti on = 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) Kuinka löytää kaksoiskappale taulukosta?

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) Kuinka tarkistaa, sisältääkö taulukko arvoa vai ei?

Tässä on merkkijono[] arvoineen

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

Jos myNames sisältää kyseisen arvon, se palauttaa arvon true, muuten false. Tässä on kaksi metodia: isExists() ja contains(), jotka molemmat palauttavat arvon true, jos arvo on saatavilla, muuten false. Ensimmäinen menetelmä Se muuntaa taulukon ArrayList-muotoon. Sen jälkeen se tarkistaa, sisältääkö taulukko arvoja, ja palauttaa arvon true, muuten false.

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

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

Toinen menetelmä Tämä metodi käy läpi taulukon ja käyttää equal()-metodia elementin etsimiseen. Se suorittaa lineaarisen haun taulukon yli Javassa. Se palauttaa arvon true, jos taulukko on antanut arvon.

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) Kuinka saada taulukon suurin ja pienin luku?

V: Tämän ongelman logiikka:

  • Käytämme kahta muuttujaa tallentaaksemme suurimman ja pienimmän luvun.
  • Ensin alustetaan suurin arvolla Integer.MIN_VALUE ja
  • Seuraavaksi alustetaan pienin arvolla Kokonaisluku.MAX_VALUE.
  • Jokaisessa for-silmukan iteraatiossa vertaamme nykyistä numeroa suurimpaan ja pienimpään numeroon ja päivitämme
  • Jos luku on suurempi kuin suurin, se ei voi olla pienempi kuin pienin. Tämä tarkoittaa, ettei tarvitse tarkistaa, onko ensimmäinen ehto totta,
  • Käytämme if-else-koodilohkoa, jossa else-osa suoritetaan vain, jos ensimmäinen ehto on epätosi, tarkoittaa, että se ei ole tosi.
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) Kuinka tehdä kahden järjestetyn taulukon leikkaus?

V: Logiikka: tulosta elementti, jos elementti on läsnä tai käytettävissä molemmissa taulukoissa.

  • Käytä kahta indeksimuuttujaa i ja j, jonka jälkeen alkuun arvot i = 0, j = 0
  • Jos arr01 [i] on pienempi kuin arr02 [j], lisää i.
  • Jos arr01 [i] on suurempi kuin arr02 [j], suurenna j.
  • Jos molemmat ovat samat, tulosta mikä tahansa niistä ja lisää sekä i että 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) Kuinka saada kaksi parasta numeroa taulukosta?

Vastaus: Logiikka on:

  • Määritämme ensimmäiselle muuttujalle max01 Kokonaisluku.MIN_ARVO

Lisäksi toinen muuttuja max02, jolla on sama kuin max01, joka on Kokonaisluku.MIN_ARVO.

  • Toistamme tätä taulukkoa ja vertaamme jokaista numeroa max01:een ja max02:een,
  • Jos nykyinen luku on suurempi kuin max1, määritä max01 = numero ja max02 = max1.
  • Muussa tapauksessa, jos se on vain suurempi kuin max02, päivitämme vain max02 nykyisellä numerolla.
  • Iteraation lopussa max01 ja max02 osoittavat kahteen ylimpään numeroon annetusta taulukosta.
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) Kuinka leikata tai poistaa elementti taulukosta?

Vastaus: Logiikka on: Voimme poistaa tai leikata elementin Apache Commons ArrayUtilsilla indeksin perusteella. ArrayUtilsissa on useita ylikuormitettuja remove()-metodeja.

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) Mikä on logiikka taulukon kääntämiseksi?

V: Logiikka: tulosta elementti käänteisessä järjestyksessä.

  • Ilmoita a
String Array String[] s = new String[]{"My","Leg","is","cut"};
  • Toista se käyttämällä for loop get kaikki elementit käänteisessä järjestyksessä tarkoittaa loppupisteestä alkupisteeseen.
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) Kuinka löydät toiseksi suurimman elementin kokonaislukujoukosta?

Vastaus: Logiikka on:

  • Toista annettua taulukkoa käyttämällä for-silmukkaa.
  • (first if ehto arr[i] > suurin):
  • Jos nykyinen taulukon arvo on suurempi kuin suurin arvo, niin
  • Siirrä suurin arvo toiseksi Suurimpaan ja tee nykyisestä arvosta suurin
  • (toinen jos ehto arr[i] > toiseksi suurin )
  • Jos nykyinen arvo on pienempi kuin suurin ja

suurempi kuin secondLargest, niin nykyisestä arvosta tulee

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) Kirjoita ohjelma, joka summaa annetun taulukon arvot.

Vastaus: Logiikka on:

  • Ilmoita ja määritä int-muuttuja, joka on summa =0.
  • Toista annettua taulukkoa käyttämällä for-silmukkaa.
  • Lisää kaikki taulukon elementit ja säilytä tässä muuttujassa, joka on summa.
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) Miten nollat ​​erotetaan nollasta poikkeavista taulukossa?

Vastaus: Logiikka on:

  • Alustuslaskuri nollaan
  • InputArray:n läpikulku vasemmalta oikealle
  • Jos syöteMatriisi[i] on muu kuin nolla
  • InputArray[i]:n määrittäminen inputArray[laskuri]
  • Kasvata laskuria 1:llä
  • Nollan määrittäminen jäljellä oleville elementeille
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) Kirjoita ohjelma, joka lisää elementin ja tiettyyn kohtaan taulukossa?

Vastaus: Logiikka on:

  • Lisää elementti taulukon 3. paikkaan (indeksi->2, arvo->5)
  • Toista annettu matriisi käänteisessä järjestyksessä käyttämällä for-silmukkaa.
  • Lisää nyt annettu paikka ja arvo for-silmukan jälkeen.
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) Kuinka saada taulukkoelementin indeksi?

Vastaus: Logiikka on:

  • Jokaisessa vaiheessa se tarkistaa syöttöavaimen arvon taulukon keskielementin arvolla.
  • Jos näppäimet täsmäävät, se palauttaa aseman. Toisessa tapauksessa, jos avain on pienempi kuin keskielementin avain,
  • Sitten se toistaa while-silmukan. Jos jäljellä olevaa taulukkoa etsittiin ja se pienennetään nollaan, se palauttaa -1 tarkoittaa, että ei löydy
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) Voimmeko laajentaa taulukkoa alustuksen jälkeen?

Vastaus: Logiikka on: Voimme laajentaa taulukkoa alustuksen jälkeen lisäämällä uuden taulukon. Katso alla oleva esimerkki.

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

}

}

lähtö on A,B,C,D,E.


50) Kuinka täyttää elementti (alustaa kerralla) taulukossa?

Vastaus: Tässä esimerkissä täytetään (alustetaan kaikki taulukon elementit kerralla) taulukko käyttämällä Java Util -luokan Array.fill(taulukon nimi,arvo)-metodia ja Array.fill(taulukon nimi, aloitusindeksi, lopetusindeksi, arvo) -metodia.

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

lähtö on

100,100,100,100,100,100

100,100,100,50,50,50
Jaa:

2 Kommentit

  1. Avatar Shreyansh sanoo:

    Entä taulukon välittäminen parametreina funktioille

  2. Avatar Arymanu singh sanoo:

    Q14 ero a[]:n ja []a:n välillä

    Ensimmäisen tyypin määrityksen jälkeen et voi luoda toista (saman tietotyypin) taulukkoa.
    Mutta voit toisen tyypin ilmoituksen jälkeen eli.
    Int []a, b, c = uusi int[koko]

Jätä vastaus

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *