import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Scanner; import java.util.TreeMap; /* Your code here */ public class Teszt { /* Your code here */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); List<Élelmiszer> élelmiszerek = new ArrayList<Élelmiszer>(); while (sc.hasNextLine()) { List<Összetevő> összetevőkLista = new ArrayList<Összetevő>(); String[] sorTömb = sc.nextLine().split(";"); String[] összetevőkTömb = sorTömb[2].split(","); for (int i = 0; i < összetevőkTömb.length; i++) { int csillagok = hányCsillagos(összetevőkTömb[i]); if (csillagok == 0) { összetevőkLista.add(new Összetevő(összetevőkTömb[i])); } else { String megnevezés = összetevőkTömb[i].substring(0, összetevőkTömb[i].length() - csillagok); összetevőkLista.add(new AllergénÖsszetevő(megnevezés, csillagok)); } } élelmiszerek.add(new Élelmiszer(sorTömb[0], sorTömb[1], összetevőkLista)); } List<Élelmiszer> legAllergénebbLista = legAllergénebb(élelmiszerek); Collections.sort(legAllergénebbLista, new Comparator<Élelmiszer>() { @Override public int compare(Élelmiszer o1, Élelmiszer o2) { return o1.getMegnevezés().compareTo(o2.getMegnevezés()); } }); for (Élelmiszer élelmiszer : legAllergénebbLista) { System.out.println(élelmiszer); } } private static int hányCsillagos(String összetevő) { if (összetevő.contains("*")) { return összetevő.length() - összetevő.indexOf("*"); } else { return 0; } } }