Using a comparator class with priority queue.


import java.util.Comparator;
import java.util.PriorityQueue;

public class UsingComparator {
	public static void main(String [] args) {
		PriorityQueue<String> stringsByLength = new PriorityQueue<String>(new CompareByLength());
		stringsByLength.add("hello");
		stringsByLength.add("hi");
		stringsByLength.add("greetings");
		stringsByLength.add("bye");
		
		while(!stringsByLength.isEmpty()) {
			System.out.println(stringsByLength.poll());
		}
	}
	
}

class CompareByLength implements Comparator<String> {

	@Override
	public int compare(String s1, String s2) {			
		return s1.length() - s2.length();
	}
	
}

CSci 2101 course web site.

The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.