Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.15 KB | None | 0 0
  1. package de.barmenia.javaschulung.uebungsaufgaben;
  2.  
  3. import java.util.*;
  4.  
  5. public class KeyValueTausch {
  6.  
  7.     static Map<Integer, String> anfangsMap;
  8.  
  9.     public static void main(String[] args) {
  10.         anfangsMap = new HashMap<>();
  11.         anfangsMap.put(1,"A");
  12.         anfangsMap.put(2,"A");
  13.         anfangsMap.put(3,"B");
  14.         anfangsMap.put(4,"B");
  15.         anfangsMap.put(5,"C");
  16.         anfangsMap.put(6,"C");
  17.  
  18.         Map<String, List<Integer>> getauschteMap = tauschenNeu(anfangsMap);
  19.  
  20.         for(String key : getauschteMap.keySet()){
  21.             List<Integer> value = getauschteMap.get(key);
  22.             System.out.println(key + " = " + value);
  23.         }
  24.     }
  25.  
  26.     public static Map<String, List<Integer>> tauschen(Map<Integer,String> map){
  27.  
  28.         Collection<String> newCollection = map.values();
  29.         List<String> newList = new ArrayList<>(new HashSet<>(newCollection));
  30.  
  31.         Map<String, List<Integer>> newMap = new HashMap<>();
  32.  
  33.         for (int i = 0; i < newList.size(); i++) {
  34.             String sortiertesValue = newList.get(i);
  35.             List<Integer> keys = new ArrayList<>();
  36.             for(Map.Entry<Integer,String> entry : map.entrySet()){
  37.                 String value = entry.getValue();
  38.                 if (value.equals(sortiertesValue)){
  39.                     keys.add(entry.getKey());
  40.                 }
  41.             }
  42.             newMap.put(sortiertesValue, keys);
  43.         }
  44.  
  45.  
  46.         return newMap;
  47.  
  48.     }
  49.  
  50.     public static Map<String, List<Integer>> tauschenNeu(Map<Integer,String> map){
  51.         Map<String, List<Integer>> neueMap = new HashMap<>();
  52.  
  53.         for(Map.Entry<Integer,String> entry : map.entrySet()){
  54.             String value = entry.getValue();
  55.  
  56.             if(!neueMap.containsKey(value)){
  57.                 List<Integer> list = new ArrayList<>();
  58.                 list.add(entry.getKey());
  59.                 neueMap.put(value,list);
  60.             } else{
  61.                 List<Integer> zwischenListe = neueMap.get(value);
  62.                 zwischenListe.add(entry.getKey());
  63.                 neueMap.put(value, zwischenListe);
  64.             }
  65.         }
  66.  
  67.         return neueMap;
  68.     }
  69.  
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement