logo

Foreach valodās C++ un Java

Foreach cilpa tiek izmantots, lai ātri atkārtotu konteinera elementus (masīvu, vektorus utt.), neveicot inicializāciju, testēšanu un palielināšanu/samazināšanos. Foreach cilpu darbība ir kaut ko darīt katram elementam, nevis darīt kaut ko n reizes. C valodā nav foreach cilpas, taču gan C++, gan Java atbalsta foreach cilpas veidu. Programmā C++ tas tika ieviests C++ 11 un Java versijā JDK 1.5.0 Foreach cilpai izmantotais atslēgvārds ir priekš gan C++, gan Java.

Sintakse:



for (data_type variable_name : container_name) { operations using variable_name }>

Ieviešot automātisko atslēgvārdu C++ un var atslēgvārdu Java , mums vairs nav jānorāda datu tips mainīgajam foreach cilpā. Tipa secinājums nosaka konteinera datu tipu un automātiski iestata to pašu datu tipu mainīgajam, ko izmanto pārvietošanai.

Tālāk redzamais kods parāda foreach cilpas lietošanas gadījumu dažādiem konteineriem kopā ar auto/lim atslēgvārdi C++/Java .

C++/Java programma masīvam:



C++






// C++ program to demonstrate use of foreach for array> #include> using> namespace> std;> int> main()> {> >int> arr[] = { 10, 20, 30, 40 };> >// Printing elements of an array using> >// foreach loop> >// Here, int is the data type, x is the variable name> >// and arr is the array for which we want to iterate foreach> >cout<<>'Traversing the array with foreach using array's data type: '>;> >for> (>int> x : arr)> >cout<' '; // data type of x is set as int cout<<' Traversing the array with foreach using auto keyword : '; for (auto x : arr) cout<' '; }>

>

>

Java




// Java program to demonstrate use of foreach> public> class> Main {> >public> static> void> main(String[] args)> >{> >// Declaring 1-D array with size 4> >int> arr[] = {>10>,>20>,>30>,>40> };> >// Printing elements of an array using> >// foreach loop> >// Here, int is the data type, x is the variable name> >// and arr is the array for which we want to iterate foreach> >System.out.print(>'Traversing the array with foreach using array's data type: '>);> >for> (>int> x : arr)> >System.out.print(x+>' '>);> > >// data type of x is set as int> >System.out.print(>' Traversing the array with foreach using auto keyword : '>);> >for> (var x : arr)> >System.out.print(x+>' '>);> >}> }>

>

>

Izvade

Traversing the array with foreach using array's data type: 10 20 30 40 Traversing the array with foreach using auto keyword : 10 20 30 40>

C++ programma vektoram:

C++


i d e pilna forma



#include> #include> using> namespace> std;> int> main()> {> >vector value{>'This'>,>'is'>,>'foreach'>,> >'example'>,>'using'>,>'vector.'> };> >cout <<>'Traversing the vector with foreach using '> >'vector's data type: '>;> >for> (string v : value) {> >cout << v <<>' '>;> >}> >cout <<>' Traversing the vector with foreach using '> >'auto keyword : '>;> >for> (>auto> v : value)> >cout << v <<>' '>;> >return> 0;> }>

>

>

Izvade

Traversing the vector with foreach using vector's data type: This is foreach example using vector. Traversing the vector with foreach using auto keyword : This is foreach example using vector.>

Java programma ArrayList:

Java




/*package whatever //do not write package name here */> import> java.util.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >ArrayList list =>new> ArrayList();> >list.add(>3>);> >list.add(>24>);> >list.add(->134>);> >list.add(->2>);> >list.add(>100>);> >for> (>int> element : list) {> >System.out.print(element +>' '>);> >}> >}> }>

>

>

Izvade

3 24 -134 -2 100>

C++/Java programma komplektam:

C++


virknes aizstāšana java



#include> #include> using> namespace> std;> int> main() {> >set<>int>>vērtība = {6, 2, 7, 4, 10, 5, 1};> > >cout<<>'Traversing the set with foreach using set's data type: '>;> >for> (>int> v : value) {> >cout<' '; } cout<<' Traversing the set with foreach using auto keyword : '; for (auto v : value) cout<' '; return 0; }>

>

>

Java




import> java.util.*;> > public> class> GFG {> > >public> static> void> main(String[] args)> >{> >Set hash_Set =>new> HashSet();> >hash_Set.add(>'Geeks'>);> >hash_Set.add(>'For'>);> >hash_Set.add(>'Geeks'>);> >hash_Set.add(>'Foreach'>);> >hash_Set.add(>'Example'>);> >hash_Set.add(>'Set'>);> > >System.out.print(>'Traversing the set with foreach using set's data type: '>);> >for>(String hs : hash_Set) {> >System.out.print(hs+>' '>);> >}> > >System.out.print(>' Traversing the set with foreach using auto keyword : '>);> >for> (var hs : hash_Set) {> >System.out.print(hs+>' '>);> >}> > >}> }>

>

>

atzvanīšanas ellē javascript
Izvade

Traversing the set with foreach using set's data type: 1 2 4 5 6 7 10 Traversing the set with foreach using auto keyword : 1 2 4 5 6 7 10>

Piezīme: Mēs varam izmantot dažādus datu tipus foreach masīvam, vektoram un kopai.

C++/Java programma kartei:

C++14




#include> #include> using> namespace> std;> int> main() {> >map<>int>, string>kartePiemērs;> >mapExample.insert(pair<>int>, string>(1,>'Geeks'>));> >mapExample.insert(pair<>int>, string>(2,>'4'>));> >mapExample.insert(pair<>int>, string>(3,>'Geeks'>));> >mapExample.insert(pair<>int>, string>(4,>'Map'>));> >mapExample.insert(pair<>int>, string>(5,>'Foreach'>));> >mapExample.insert(pair<>int>, string>(6,>'Example'>));> > >cout<<>'Traversing the map with foreach using map's data type '>;> >for> (pair<>int>, string>mpEx : kartePiemērs ) {> >cout<' '< } cout<<' Traversing the map with foreach using auto keyword '; for (auto mpEx : mapExample){ cout<' '< } return 0; }>

>

>

Java




import> java.io.*;> import> java.util.Map;> import> java.util.HashMap;> class> GFG {> >public> static> void> main (String[] args) {> >Map gfg =>new> HashMap();> > >gfg.put(>1>,>'Geeks'>);> >gfg.put(>2>,>'4'>);> >gfg.put(>3>,>'Geeks'>);> >gfg.put(>4>,>'Map'>);> >gfg.put(>5>,>'Foreach'>);> >gfg.put(>6>,>'Example'>);> > >System.out.println(>'Traversing the map with foreach using map's data type'>);> >for> (Map.Entry entry : gfg.entrySet())> >System.out.println(entry.getKey() +>' '> + entry.getValue());> > >System.out.println(>' Traversing the map with foreach using auto keyword'>);> >for> (var entry : gfg.entrySet())> >System.out.println(entry.getKey() +>' '> + entry.getValue());> >}> }>

>

>

Izvade

Traversing the map with foreach using map's data type 1 Geeks 2 4 3 Geeks 4 Map 5 Foreach 6 Example Traversing the map with foreach using auto keyword 1 Geeks 2 4 3 Geeks 4 Map 5 Foreach 6 Example>

Foreach cilpas priekšrocības:

  • Padara kodu lasāmāku.
  • Novērš kļūdas, kas saistītas ar datu pārsniegšanu vai nepietiekamu izpildi.

Foreach cilpas trūkums:

  • Nevar atkārtot elementus apgrieztā secībā.
  • Tiks piekļūts katram elementam, nevar izlaist nevienu elementu starp tiem.