Iga silmus sisse Java

โšก Nutikas kokkuvรตte

Iga silmus sisse Java on for-tsรผkli lihtsustatud vorm, mida kasutatakse massiivide ja loendite lรคbimiseks ilma loenduri vรตi indeksita. See ressurss selgitab for-each sรผntaksit, vรตrdleb seda traditsioonilise for-tsรผkliga ja nรคitab tรคielikku toimivat nรคidet oodatava vรคljundiga.

  • ๐Ÿ” Eesmรคrk: For-each tsรผkkel itereerib otse iga massiivi vรตi loendi elemendi รผle, lรผhendades koodi.
  • ๐Ÿงฎ Loendur puudub: Erinevalt traditsioonilisest for-tsรผklist ei vaja for-each indeksit, tingimust ega juurdekasvu.
  • ๐Ÿงฉ sรผntaksit: Deklareerige ajutine muutuja, mille tรผรผp vastab kollektsioonile, ja seejรคrel itereeritav kollektsioon.
  • ๐Ÿ‡ง๐Ÿ‡ท Vรตrdlus: Nรคide nรคitab sama vรคljundit loenduripรตhisest tsรผklist ja for-each tsรผklist.
  • โš ๏ธ Piirang: For-each tsรผkkel ei anna indeksit, seega ei saa see aluselemente hรตlpsalt muuta.

Iga silmus sisse Java

Java Iga massiivi jaoks

For-Each tsรผkkel on teine โ€‹โ€‹for-tsรผkli vorm, mida kasutatakse massiivi lรคbimiseks. For-each tsรผkkel vรคhendab koodi oluliselt ning tsรผklis ei kasutata indeksit ehk pigem loendurit.

sรผntaksit:

for (<DataType of array/List> <Temp variable name> : <Array/List to be iterated>) {
    System.out.println();
    // Any other operation can be done with this temp variable.
}

Sisselรผlitamine/itereeri massiiv Java

Vรตtame nรคite, kasutades stringi massiivi, mida soovite itereerida ilma loendureid kasutamata. Kaaluge stringi massiivi arrData, mis on lรคhtestatud jรคrgmiselt:

String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};

Kuigi vรตite teada selliseid meetodeid nagu suuruse leidmine massiivi Ja seejรคrel itereerides lรคbi massiivi iga elemendi traditsioonilise for-tsรผkli abil (loendur, tingimus ja juurdekasv), vajame optimeeritumat lรคhenemisviisi, mis sellist loendurit ei kasuta.

See on "for" ahela tavapรคrane lรคhenemisviis:

for (int i = 0; i < arrData.length; i++) {
    System.out.println(arrData[i]);
}

Nรคete loenduri kasutamist ja seejรคrel selle kasutamist massiivi indeksina. Java annab vรตimaluse kasutada tsรผklit "for", mis itereerib lรคbi massiivi iga elemendi.

Siin on massiivi kood, mille me varem deklareerisime:

for (String strTemp : arrData) {
    System.out.println(strTemp);
}

Nรคete tsรผklite erinevust. Koodi on oluliselt lรผhendatud. Samuti pole tsรผklis enam indeksit ehk รตigemini loendurit kasutust. Veenduge, et for-each tsรผklis deklareeritud andmetรผรผp vastab tsรผkli andmetรผรผbile. ArrayList et te kordate.

Iga tsรผkli kohta Nรคide

Siin on kogu klass, mis nรคitab รผlaltoodud selgitust:

class UsingForEach {
  public static void main(String[] args) {
    String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
    //The conventional approach of using the for loop
    System.out.println("Using conventional For Loop:");
    for(int i=0; i< arrData.length; i++){
      System.out.println(arrData[i]);
    }
    System.out.println("\nUsing Foreach loop:");
    //The optimized method of using the for loop - also called the foreach loop
    for (String strTemp : arrData){
      System.out.println(strTemp);
    }
  }
}

Korrake massiivi sisse Java

Eeldatav vรคljund:

Using conventional For Loop:
Alpha
Beta
Gamma
Delta
Sigma

Using Foreach loop:
Alpha
Beta
Gamma
Delta
Sigma

KKK

Jah. Tehisintellekti assistendid saavad indeksipรตhised tsรผklid รผmber faktoriseerida iga-aastasteks tsรผkliteks, kus indeksit pole vaja. Peaksite siiski รผle vaatama juhtumid, mis tuginevad positsiooni vรตi elemendi muutmiseks indeksile.

Tehisintellekti tรถรถriistad soovitavad indeksit kasutamata jรคtmise korral loetavuse huvides sageli iga tsรผkli jaoks eraldi kasutada, samas kui keeping indekseeritud tsรผklid, kus elemendi positsioon vรตi modifikatsioon on oluline. Valik sรตltub konkreetsest รผlesandest.

Traditsiooniline for-tsรผkkel kasutab iteratsiooni juhtimiseks loendurit ja indeksit. For-each-tsรผkkel itereerib iga elementi otse ilma loendurita, parandades loetavust, kuid pakkumata elemendi ligipรครคsuks indeksit.

Tsรผkluse muutuja muutmine ei uuenda aluseks olevat massiivi elementi, kuna see sisaldab vรครคrtuse koopiat. Elementide kohapeal muutmiseks kasutage traditsioonilist for-tsรผklit indeksiga.

Vรตta see postitus kokku jรคrgmiselt: