Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.util.stream.*;
- public class AuditionTest {
- public static void main(String[] args) {
- Audition audition = new Audition();
- List<String> cities = new ArrayList<String>();
- Scanner scanner = new Scanner(System.in);
- while (scanner.hasNextLine()) {
- String line = scanner.nextLine();
- String[] parts = line.split(";");
- if (parts.length > 1) {
- audition.addParticipant(parts[0], parts[1], parts[2],
- Integer.parseInt(parts[3]));
- } else {
- cities.add(line);
- }
- }
- for (String city : cities) {
- System.out.printf("+++++ %s +++++\n", city);
- audition.listByCity(city);
- }
- scanner.close();
- }
- }
- class Participant {
- private String code;
- private String name;
- private int age;
- public Participant(String code, String name, int age) {
- super();
- this.code = code;
- this.name = name;
- this.age = age;
- }
- public String getCode() {
- return code;
- }
- public String getName() {
- return name;
- }
- public int getAge() {
- return age;
- }
- public String toString () {
- return code + " " + name + " " + age;
- }
- }
- class Audition {
- private Map <String,List<Participant>> participants;
- public Audition () {
- participants = new HashMap <> ();
- }
- public void addParticipant (String city, String code, String name, int age) {
- List <Participant> list = new LinkedList <> ();
- if(participants.containsKey(city)) {
- list = participants.get(city);
- for(Participant p : list) {
- if(p.getCode().equals(code))
- return;
- }
- list.add(new Participant(code,name,age));
- participants.put(city,list);
- }
- else {
- list.add(new Participant(code,name,age));
- participants.put(city,list);
- }
- }
- public void listByCity (String city) {
- participants.get(city)
- .stream()
- .sorted(Comparator.comparing(Participant::getName)
- .thenComparing(Participant::getAge)
- .thenComparing(Participant::getCode))
- .forEach(each -> System.out.println(each));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment