1. Módosítsuk a FindDups programot úgy, hogy azt akarjuk tudni, hogy mely szavak fordulnak elő egyszer a listában, és mely szavak fordulnak elő többször, de nem akarunk duplán kiírt szavakat látni. Ezt úgy tudjuk elérni, hogy két halmazt hozunk létre: az egyik csak az egyszeres elemeket tartalmazza, a másik csak a duplikáltakat. 2. Hozzunk létre két Integer objektumokat tartalmazó halmazt a FindDups programban látott módon tömbökkel inicializálva. Állítsuk elő a két halmaz unióját, metszetét, különbségét. 3. Módosítsa a korábban látott raktárprogramot úgy, hogy az egy listában tárolja az egyes árufajták adatait. Végezze el a következő műveleteket: Árufajta felvétele; Listázás; Eladás; Vétel; Ármódosítás 4. Készítsen egy Versenyzo osztályt név, ország, helyezés adatokkal, és az alkalmazás további részeihez szükséges metódusokkal. Készítsen egy Verseny osztályt, mely: - egy megfelelő kollekcióba elhelyez néhány versenyzőt, - kilistázza a versenyzőket (foreach, iterátor): természetes rendezettség szerint (név), illetve helyezés szerint rendezve, - név alapján megkeres egy versenyzőt, majd kiírja a nemzetiségét, helyezését, - törli a listából a 8.-nál hátrébb végzett versenyzőket. 5. Hozzon létre egy Map-et, mely árucikkek adatait tartalmazza: kód, ár. Töltse fel néhány értékpárral! Listázza ki a kódokat! Listázza ki az árakat! Listázza ki az értékpárokat! Növelje meg minden áru árát 100,-Ft-al! 1. import java.util.*; public class FindDups2 { public static void main(String[] args) { String w="i came i saw i left", s; Set uniques = new HashSet(); Set dups = new HashSet(); for(StringTokenizer st=new StringTokenizer(w);st.hasMoreTokens();) if (!uniques.add(s=st.nextToken())) dups.add(s); uniques.removeAll(dups); System.out.println("Unique words: " + uniques); System.out.println("Duplicate words: " + dups); } } --------------------------------------------------------------- 2. import java.util.*; public class SetOperations{ public static void main(String[]args){ int[]a={1,2,3,4,5,6}; int[]b={4,5,6,7,8}; Set s1=new HashSet(); Set s2=new HashSet(); for(Integer i: a) s1.add(i); for(Integer i: b) s2.add(i); System.out.println(s1); System.out.println(s2); Set union=new HashSet(s1); union.addAll(s2); System.out.println(union); Set intersection=new HashSet(s1); intersection.retainAll(s2); System.out.println(intersection); Set difference=new HashSet(s1); difference.removeAll(s2); System.out.println(difference); } } ------------------------------------------------------------------ 3. class Aru { private String nev; private double egysegar; private double menny; public Aru(String aNev, double aEgysegar) { nev = aNev; egysegar = aEgysegar; menny = 0; } public Aru(String aNev) { this(aNev,0); } public String getNev() { return nev; } public double getEgysegar() { return egysegar; } public void setEgysegar(double aEgysegar) { if (aEgysegar >= 0) egysegar = aEgysegar; } public double getMenny() { return menny; } public double getAr() { return menny*egysegar; } public void hozzatesz(double aMenny) { if (aMenny>0) menny += aMenny; } public void elvesz(double aMenny) { if (aMenny>0 && aMenny<=menny) menny -= aMenny; } public String toString() { return nev+"\tEgysegar: "+egysegar+"\tMenny: "+menny+"\tAr: "+getAr(); } public boolean equals(Object obj){ return nev.equals(((Aru)obj).nev); } } import java.util.*; public class Raktar { public static void main(String[] args) { List raktar=new ArrayList(); //Árufajta felvétele raktar.add(new Aru("paradicsom",250)); raktar.add(new Aru("paprika",300)); raktar.add(new Aru("alma",150)); raktar.add(new Aru("körte",300)); //Listázások System.out.println(raktar); System.out.println(); for(Aru a: raktar) System.out.println(a); //Vétel: alma-100 kg; körte-200 kg Aru kereso=new Aru("alma"); int poz=raktar.indexOf(kereso); Aru aru=raktar.get(poz); aru.hozzatesz(100); raktar.get(raktar.indexOf(new Aru("körte"))).hozzatesz(200); System.out.println(); for(Aru a: raktar) System.out.println(a); //Eladás: alma-20 kg raktar.get(raktar.indexOf(new Aru("alma"))).elvesz(20); System.out.println(); for(Aru a: raktar) System.out.println(a); //Ármódosítás: alma-200 Ft raktar.get(raktar.indexOf(new Aru("alma"))).setEgysegar(200); System.out.println(); for(Aru a: raktar) System.out.println(a); } } ------------------------------------------------------------------- 4. class Versenyzo implements Comparable{ private String nev; private String orszag; private int helyezes; public Versenyzo(String nev, String orszag, int helyezes){ this.nev=nev; this.orszag=orszag; this.helyezes=helyezes; } public Versenyzo(String nev){ this(nev,null,0); } public int getHelyezes(){ return helyezes; } public boolean equals(Object obj){ return nev.equals(((Versenyzo)obj).nev); } public String toString(){ return nev+", "+orszag+": "+helyezes; } public int compareTo(Versenyzo v){ return nev.compareTo(v.nev); } } import java.util.*; public class Verseny{ public static void main(String[]args){ Comparator helyezesSzerint=new Comparator(){ public int compare(Versenyzo v1, Versenyzo v2){ return v1.getHelyezes()-v2.getHelyezes(); } }; List versenyzok=new ArrayList(); versenyzok.add(new Versenyzo("Kovács István","Magyarország",2)); versenyzok.add(new Versenyzo("Balogh Péter","Magyarország",1)); versenyzok.add(new Versenyzo("Bill Miller","Anglia",4)); versenyzok.add(new Versenyzo("Peter Müller","Németország",3)); //Természetes rendezettség szerinti listák Collections.sort(versenyzok); for(Versenyzo v:versenyzok) System.out.println(v); System.out.println(); //vagy for (Iterator it=versenyzok.iterator(); it.hasNext(); ) System.out.println(it.next()); System.out.println(); //Lista comparator szerinti rendezettséggel Collections.sort(versenyzok, helyezesSzerint); for(Versenyzo v:versenyzok) System.out.println(v); System.out.println(); //Keresés Versenyzo keresett=new Versenyzo("Bill Miller"); int poz=versenyzok.indexOf(keresett); System.out.println(versenyzok.get(poz)); System.out.println(); //Törli a 2.-nál hátrébb végzett versenyzőket for(Iterator it=versenyzok.iterator(); it.hasNext(); ) if (it.next().getHelyezes()>2) it.remove(); System.out.println("Lista törlés után: "); for(Versenyzo v:versenyzok) System.out.println(v); } } ------------------------------------------------------------------------- 5. import java.util.*; public class Arucikkek{ public static void main(String[]args){ Map cikkek=new HashMap(); cikkek.put("a123",2000); cikkek.put("a224",1000); cikkek.put("b110",4500); cikkek.put("a203",100); cikkek.put("d100",2000); //Kódok listázása for (String k: cikkek.keySet()) System.out.print(k+" "); System.out.println(); //Árak listázása for (Integer v: cikkek.values()) System.out.print(v+",-Ft "); System.out.println(); //Bejegyzések listázása for (Map.Entry e: cikkek.entrySet()) System.out.println(e.getKey() + ": " + e.getValue()+",-Ft"); System.out.println(); //Ár növelése for(Map.Entry e: cikkek.entrySet()) e.setValue(e.getValue()+100); System.out.println("Lista az új árakkal:"); for (Map.Entry e: cikkek.entrySet()) System.out.println(e.getKey() + ": " + e.getValue()+",-Ft"); } }