logo

Foreach v C++ in Javi

Foreach zanka se uporablja za hitro ponavljanje elementov vsebnika (matrika, vektorji itd.) brez izvajanja inicializacije, testiranja in povečanja/zmanjševanja. Delovanje zank foreach je narediti nekaj za vsak element, namesto da bi nekaj naredili n-krat. V C ni zanke foreach, vendar C++ in Java podpirata vrsto zanke foreach. V C++ je bil predstavljen v C++ 11 in Java v JDK 1.5.0. Ključna beseda, uporabljena za zanko foreach, je za v C++ in Javi.

Sintaksa:



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

Z uvedbo ključne besede auto v C++ in ključne besede var v Javi nam ni več treba določiti vrste podatkov za spremenljivko v zanki foreach. Sklepanje tipa zazna podatkovni tip vsebnika in samodejno nastavi isti podatkovni tip spremenljivki, ki se uporablja za prečkanje.

Spodnja koda prikazuje primer uporabe zanke foreach za različne vsebnike skupaj z avto/lim ključne besede v C++/Java .

Program C++/Java za niz:



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+>' '>);> >}> }>

>

>

Izhod

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>

Program C++ za vektor:

C++


alternativa mylivecricket



#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;> }>

>

>

Izhod

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.>

Program Java za ArrayList:

Java




log4j

/*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 +>' '>);> >}> >}> }>

>

>

Izhod

3 24 -134 -2 100>

Program C++/Java za komplet:

C++




#include> #include> using> namespace> std;> int> main() {> >set<>int>>vrednost = {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+>' '>);> >}> > >}> }>

>

>

Izhod

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>

Opomba: V foreach lahko uporabimo različne tipe podatkov za niz, vektor in niz.

Program C++/Java za zemljevid:

C++14




#include> #include> using> namespace> std;> int> main() {> >map<>int>, string>mapExample;> >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 : mapExample ) {> >cout<' '< } cout<<' Traversing the map with foreach using auto keyword '; for (auto mpEx : mapExample){ cout<' '< } return 0; }>

>

>

Java




python tuple razvrščen

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

>

>

Izhod

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>

Prednosti zanke foreach:

  • Naredi kodo bolj berljivo.
  • Odpravlja napake zaradi prevelikega ali premajhnega izvajanja podatkov.

Slabost zanke foreach:

  • Elementov ni mogoče ponoviti v obratnem vrstnem redu.
  • Do vsakega elementa bo dostopen, vmesnih elementov ne morete preskočiti.