import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MessageQueueComparator {
public static void main(String[] args) {
// Sample data for two message queues
Map<String, Integer> queue1 = new HashMap<>();
queue1.put("message1", 10);
queue1.put("message2", 20);
queue1.put("message3", 30);
Map<String, Integer> queue2 = new HashMap<>();
queue2.put("message1", 15);
queue2.put("message2", 25);
queue2.put("message4", 40); //Different message
// Compare the queues
compareQueues(queue1, queue2);
}
public static void compareQueues(Map<String, Integer> queue1, Map<String, Integer> queue2) {
System.out.println("Comparing Queue 1 and Queue 2:");
// Check for differences in size
System.out.println("Queue 1 size: " + queue1.size());
System.out.println("Queue 2 size: " + queue2.size());
// Check for common messages
System.out.println("\nCommon Messages:");
for (Map.Entry<String, Integer> entry : queue1.entrySet()) {
if (queue2.containsKey(entry.getKey())) {
System.out.println("Message: " + entry.getKey() + ", Queue 1: " + entry.getValue() + ", Queue 2: " + queue2.get(entry.getKey()));
}
}
// Check for messages unique to queue1
System.out.println("\nMessages Unique to Queue 1:");
for (Map.Entry<String, Integer> entry : queue1.entrySet()) {
if (!queue2.containsKey(entry.getKey())) {
System.out.println("Message: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
//Check for messages unique to queue2
System.out.println("\nMessages Unique to Queue 2:");
for (Map.Entry<String, Integer> entry : queue2.entrySet()) {
if (!queue1.containsKey(entry.getKey())) {
System.out.println("Message: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
}
Add your comment