Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Map<Integer, List<Human>> ageDisplay(Set<Human>humanSet) // задание 10
- {
- Map<Integer, List<Human>> result = new TreeMap<>();
- List<Human> ageList = new ArrayList<>();
- for(Human value: humanSet)
- {
- if(result.containsKey(value.getAge()))
- {
- ageList.addAll(result.get(value.getAge()));
- ageList.add(value);
- result.put(value.getAge(), new ArrayList<>(ageList));
- ageList.clear();
- }
- else
- {
- result.put(value.getAge(), new ArrayList<>(Arrays.asList(value)));
- }
- }
- return result;
- }
- public static Map<Integer, Map<Character, List<Human>>> superDisplay(Set<Human>humanSet) //задание 11
- {
- Map<Integer, Map<Character, List<Human>>> ageAlphabeticalMap = new HashMap<>();
- Map<Character, List<Human>> alphabeticalMap = new TreeMap<>();
- Map<Integer, List<Human>> listMap = new TreeMap<>(ageDisplay(humanSet));
- List<Human> ageList = new ArrayList<>();
- for(Map.Entry<Integer, List<Human>> entry : listMap.entrySet())
- {
- for(Human value : entry.getValue())
- {
- if(alphabeticalMap.containsKey(value.getSurname().charAt(0)))
- {
- ageList = alphabeticalMap.get(value.getSurname().charAt(0));
- ageList.add(value);
- Collections.sort(ageList, new Comparator<Human>() {
- @Override
- public int compare(Human a, Human b) {
- return a.getSurname().compareTo(b.getSurname());
- }
- });
- alphabeticalMap.put(value.getSurname().charAt(0), new ArrayList<>(ageList));
- ageList.clear();
- }
- else
- {
- alphabeticalMap.put(value.getSurname().charAt(0), new ArrayList<>(Arrays.asList(value)));
- }
- }
- ageAlphabeticalMap.put(entry.getKey(), new TreeMap<>(alphabeticalMap));
- alphabeticalMap.clear();
- }
- return ageAlphabeticalMap;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement