import java.util.Comparator; import java.util.PriorityQueue; import java.util.Queue; public class Main{ public static void main(String[] args) { Queue<User> q = new PriorityQueue<>(new UserComparator()); q.offer(new User("Bob", "A10")); q.offer(new User("Alice", "A2")); q.offer(new User("Boss", "V1")); System.out.println(q.poll()); System.out.println(q.poll()); System.out.println(q.poll()); System.out.println(q.poll()); } } class UserComparator implements Comparator<User>{ public int compare(User u1,User u2){ if (u1.number.charAt(0)==u2.number.charAt(0)){ Integer a = Integer.parseInt(u1.number.substring(1)); Integer b = Integer.parseInt(u2.number.substring(1)); return a.compareTo(b); } if(u1.number.charAt(0) == 'V'){ return -1; }else{ return 1; } } } class User{ public final String name; public final String number; public User(String name,String number){ this.name = name; this.number = number; } public String toString(){ return name + "/" + number; } }
Sign in to make a reply
ncoheart