Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a method called reverse that accepts a map from strings to strings as a pa

ID: 3830840 • Letter: W

Question

Write a method called reverse that accepts a map from strings to strings as a parameter and returns a new map that is the reverse of the original. The reverse of a map is a new map that uses the values from the original as its keys and the keys from the original as its values. Since a map's values need not be unique but its keys must be, you should have each value map to a set of keys. In other words, if the original map maps keys of type K to values of type V, the new map should map keys of type V to values that are Sets containing elements of type K. For example, the map {42=Marty, 81=Sue, 17=Ed, 31=Dave, 56=Ed, 3=Marty, 29=Ed} has a reverse of {Marty-[42, 3], Sue=[81], Ed= [17, 56, 29], Dave = [31]}. (The order of the keys and values does not matter.)

Explanation / Answer

Hi, Please find my implementation of required method.

public static Map<String, ArrayList<String>> reverse(Map<String, String> map){

      

       Map<String, ArrayList<String>> reverseMap = new HashMap<String, ArrayList<String>>();

      

       for(Map.Entry<String, String> entry : map.entrySet()){

          

           String key = entry.getKey();

           String value = entry.getValue();

          

           ArrayList<String> list;

           if(reverseMap.containsKey(value)){

               list = reverseMap.get(value);

           }else{

               list = new ArrayList<>();

           }

          

           list.add(key);

          

           reverseMap.put(value, list);

       }

      

       return reverseMap;

   }

  

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote