Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.util.*;
- import type.lib.*;
- public class Check10B
- {
- public static void main (String [] args)
- {
- Scanner input = new Scanner(System.in);
- PrintStream output = new PrintStream(System.out);
- Map<Integer,Integer> oriMap = new TreeMap<Integer, Integer>();
- Map<Integer,Integer> invMap = new TreeMap<Integer, Integer>();
- output.println("Enter your map, one key-value pair per line,\ncomma-separated. Use empty line as sentinel.");
- StringTokenizer st = new StringTokenizer("", ",");
- for(String userInput = input.nextLine(); !userInput.equals(""); userInput = input.nextLine())
- {
- st = new StringTokenizer(userInput, ",");
- oriMap.put(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()));
- }
- output.println("The input map is:\n" + oriMap + "\nThe inverted map [using the smaller key as a tie breaker]:");
- Iterator it = oriMap.entrySet().iterator();
- while (it.hasNext())
- {
- Map.Entry thisEntry = (Map.Entry) it.next();
- if(invMap.containsKey(thisEntry.getValue()))
- {
- if (Integer.parseInt(invMap.get(thisEntry.getValue()).toString()) > Integer.parseInt(thisEntry.getKey().toString()))
- {
- invMap.put(Integer.parseInt(thisEntry.getValue().toString()), Integer.parseInt(thisEntry.getKey().toString()));
- }
- }
- else
- {
- invMap.put(Integer.parseInt(thisEntry.getValue().toString()), Integer.parseInt(thisEntry.getKey().toString()));
- }
- }
- output.println(invMap);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement