1. import java.util.ArrayList;
  2. import java.util.HashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. public class MessageQueueComparator {
  6. public static void main(String[] args) {
  7. // Sample data for two message queues
  8. Map<String, Integer> queue1 = new HashMap<>();
  9. queue1.put("message1", 10);
  10. queue1.put("message2", 20);
  11. queue1.put("message3", 30);
  12. Map<String, Integer> queue2 = new HashMap<>();
  13. queue2.put("message1", 15);
  14. queue2.put("message2", 25);
  15. queue2.put("message4", 40); //Different message
  16. // Compare the queues
  17. compareQueues(queue1, queue2);
  18. }
  19. public static void compareQueues(Map<String, Integer> queue1, Map<String, Integer> queue2) {
  20. System.out.println("Comparing Queue 1 and Queue 2:");
  21. // Check for differences in size
  22. System.out.println("Queue 1 size: " + queue1.size());
  23. System.out.println("Queue 2 size: " + queue2.size());
  24. // Check for common messages
  25. System.out.println("\nCommon Messages:");
  26. for (Map.Entry<String, Integer> entry : queue1.entrySet()) {
  27. if (queue2.containsKey(entry.getKey())) {
  28. System.out.println("Message: " + entry.getKey() + ", Queue 1: " + entry.getValue() + ", Queue 2: " + queue2.get(entry.getKey()));
  29. }
  30. }
  31. // Check for messages unique to queue1
  32. System.out.println("\nMessages Unique to Queue 1:");
  33. for (Map.Entry<String, Integer> entry : queue1.entrySet()) {
  34. if (!queue2.containsKey(entry.getKey())) {
  35. System.out.println("Message: " + entry.getKey() + ", Value: " + entry.getValue());
  36. }
  37. }
  38. //Check for messages unique to queue2
  39. System.out.println("\nMessages Unique to Queue 2:");
  40. for (Map.Entry<String, Integer> entry : queue2.entrySet()) {
  41. if (!queue1.containsKey(entry.getKey())) {
  42. System.out.println("Message: " + entry.getKey() + ", Value: " + entry.getValue());
  43. }
  44. }
  45. }
  46. }

Add your comment