ebook img

Collections en Java PDF

39 Pages·2017·0.27 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Collections en Java

Collections en Java (cours 2) Virginia Aponte CNAM-Paris 23 mars 2017 VirginiaAponte (CNAM-Paris) NFA035 23mars2017 1/39 1. Parcourir tableaux/collections : boucle for each VirginiaAponte (CNAM-Paris) NFA035 23mars2017 2/39 Boucle for each Boucledeparcourssurcollectionsettableaux: for (T el : col) { «appliquer actions sur» el; } «PourchaquevaleureldetypeTdanscolappliqueractions.» col:nomdevariabletableauoucollection. T:typedeséléments, el:nomlocaleàlaboucledonnéàchaqueélément; Limitation Accèsàunecopiedechaquecomposante(pasdemodificationcollection). VirginiaAponte (CNAM-Paris) NFA035 23mars2017 3/39 Exemple (1) : parcours d’une collection lc:estunecollectiond’élémentsString; onveutparcourircettecollectionenaffichantsescomposantes. Collection<String> lc = new ArrayList<String>(); ...// ajout de composantes dans lc for (String n : lc) { System.out.println(n); } String:typeéléments, lc:nomdelacollectionquel’onparcoure n:nomlocaldonnéàchaquecomposante, VirginiaAponte (CNAM-Paris) NFA035 23mars2017 4/39 Exemple (2) : parcours d’un tableau Employéicipour«accès»àchaquecasedetab: int [] tab = {1, 2, 3}; // Additionnes ttes cases du tableau int somme = 0; for (int e : tab) { somme = somme + e;; } System.out.println("Somme = "+ somme); Affiche:Somme = 6 Attention Variableen’estpasunecasedutableau,maisunecopiedesoncontenu! VirginiaAponte (CNAM-Paris) NFA035 23mars2017 5/39 Pas de modification de collection/tableau Attention : for each nepermetpastraverser+modifierletableau/collectionenmêmetemps! int [] tab = {1, 2, 3}; for (int e : tab){ e = e*10; // Tentative de modification } System.out.println("Tableau apres:"); for (int e : tab){ System.out.print(" "+ e); } Tableau apres: 1 2 3 ⇒Nonmodifiéaprèslaboucle! VirginiaAponte (CNAM-Paris) NFA035 23mars2017 6/39 2. Remove, itérateurs VirginiaAponte (CNAM-Paris) NFA035 23mars2017 7/39 Modification pendant for-each Impossible modifier tableau/collection via un for each : si tableau ⇒ pas de modification; si collection ⇒ lévée exception ConcurrentModificationException VirginiaAponte (CNAM-Paris) NFA035 23mars2017 8/39 Modification collection dans for-each Tentonsd’enleverlesélémentsquicommencentparA: // Tentative modification sur collection for (String s: union){ if (s.charAt(0)==’A’) union.remove(s); } Exception in thread "main" java.util.ConcurrentModificationException Modification collection pendant itération Seulmoyensûrdelefaire:viauniterator VirginiaAponte (CNAM-Paris) NFA035 23mars2017 9/39 Itérateurs Itérateur Objet detype(interface)Iterator,permettantde«visiter»dansune boucletouslesélémentsd’unecollection.Sesméthodes: T next():obtenirle«prochain»élémentdelacollection; boolean hasNext():trues’ilrestedesélémentsnonencore «visités»; boolean remove():enleveunélémentdelacollectionpendant l’itération Toute collection fornit la méthode Iterator iterator(); permettantdefabriquercetobjet. VirginiaAponte (CNAM-Paris) NFA035 23mars2017 10/39

Description:
Collections en Java (cours 2). Virginia Aponte. CNAM-Paris. 23 mars 2017. Virginia Aponte (CNAM-Paris). NFA035. 23 mars 2017. 1 / 39
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.