WebProg-2014/Gyakorlat5

A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2015. március 18., 07:31-kor történt szerkesztése után volt.

Tartalomjegyzék

Bemelegítõ feladatok

Ezeket mind lehet csak egy mainbe írni, egy amúgy üres osztályba. Ha ezt minden file elejére írjátok, akkor nem lesz gond az osztályok importálgatásával:

import java.util.*;

FONTOS: ahol iterálgatásról meg iterátorról írok, ott megoldható az elõadáson látott while ciklusos hasNext metódussal és bejáró for ciklussal is.

ArrayList

  • Készítsetek egy Stringeket tároló ArrayListet. Adjátok hozzá a következõ Stringeket:
Java
Unix
Oracle
C++
Perl
  • Majd iterátorral járjátok be a listát és írjátok ki az elemeit külön sorokba (tehát a kimenet legyen az ami pont a fenti felsorolás).
  • Töröljétek a C++ és Oracle elemeket. Majd írjátok ki mégegyszer a maradék listát.
  • Kérdezzétek le, hogy hanyadik indexen található a Unix. Állítsátok ezt át Linuxra. Végül írjátok ki csak ezt a módosított elemet a get metódust használva.

HashSet

  • HashSet segítségével határozzatok meg prímeket.
  • Készítsetek egy inteket tároló HashSetet. Adjátok hozzá a számokat 2-tõl 100-ig. Valamint készítsetek mégegy HashSetet, amibe nem töltünk még elemeket.
  • Kérjetek el egy iterátort és iteráljatok végig az elemeken. A cikluson belül kérjetek el egy újabb iterátort. Majd az így megírt belsõ cikluson belül vizsgáljátok, hogy a külsõben figyelt elem osztható-e a belsõ elemmel, ha igen és nem egyezik meg ezzel az elemmel, akkor rakjátok a második HashSetbe.
  • Amikor lefutott ez az egymásba ágyazott két ciklus, akkor a második HashSetben megkaptuk az összetett számokat. Töröljétek ezeket az elsõ HashSetbõl. (Iteráljatok végig a 2.-on, és hívjátok meg a remove metódust az adott elemmel az elsõ HashSeten.)
  • Gondolkozzatok el rajta hogyan lehetett volna ezt sokkal optimálisabban megoldani.

HashMap

  • Készítsetek egy HashMapet, ami Stringekhez számokat tud hozzárendelni. Töltsétek ezt fel a következõ kulcs-érték párokkal:
one: 1
two: 2
three: 3
four: 4
five: 5
  • Írjátok ki csak a kulcsokat, majd csak az értékeket. Végül a kulcs-érték párokat úgy ahogy fent is látszik. Ehhez segítség:
Set<String> keys = hm.keySet();
for(String key: keys){
    System.out.println("Value of "+key+" is: "+hm.get(key));
}
  • hm itt egy HashMap.
  • Az elsõ sorban lekérjük a kulcsait tartalmazó halmazt.
  • Majd egy ciklussal végigiterálunk a kulcsokon. (Ez az a for ciklus amit elsõ elõadáson mutattam, C és C++ban nincs ilyen.)
  • A cikluson belül megy a kiírás.


További feladatok

Személyes eszközök