Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.barmenia.javaschulung.uebungsaufgaben;
- import java.util.*;
- public class KeyValueTausch {
- static Map<Integer, String> anfangsMap;
- public static void main(String[] args) {
- anfangsMap = new HashMap<>();
- anfangsMap.put(1,"A");
- anfangsMap.put(2,"A");
- anfangsMap.put(3,"B");
- anfangsMap.put(4,"B");
- anfangsMap.put(5,"C");
- anfangsMap.put(6,"C");
- Map<String, List<Integer>> getauschteMap = tauschenNeu(anfangsMap);
- for(String key : getauschteMap.keySet()){
- List<Integer> value = getauschteMap.get(key);
- System.out.println(key + " = " + value);
- }
- }
- public static Map<String, List<Integer>> tauschen(Map<Integer,String> map){
- Collection<String> newCollection = map.values();
- List<String> newList = new ArrayList<>(new HashSet<>(newCollection));
- Map<String, List<Integer>> newMap = new HashMap<>();
- for (int i = 0; i < newList.size(); i++) {
- String sortiertesValue = newList.get(i);
- List<Integer> keys = new ArrayList<>();
- for(Map.Entry<Integer,String> entry : map.entrySet()){
- String value = entry.getValue();
- if (value.equals(sortiertesValue)){
- keys.add(entry.getKey());
- }
- }
- newMap.put(sortiertesValue, keys);
- }
- return newMap;
- }
- public static Map<String, List<Integer>> tauschenNeu(Map<Integer,String> map){
- Map<String, List<Integer>> neueMap = new HashMap<>();
- for(Map.Entry<Integer,String> entry : map.entrySet()){
- String value = entry.getValue();
- if(!neueMap.containsKey(value)){
- List<Integer> list = new ArrayList<>();
- list.add(entry.getKey());
- neueMap.put(value,list);
- } else{
- List<Integer> zwischenListe = neueMap.get(value);
- zwischenListe.add(entry.getKey());
- neueMap.put(value, zwischenListe);
- }
- }
- return neueMap;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement