import java.io.File; import java.util.ArrayList; import java.util.Comparator; import javax.swing.JFileChooser; /* * Created on Oct 29, 2004 * */ /** * @author Owen Astrachan * */ public class PQDemo { private static JFileChooser ourChooser = new JFileChooser("."); private static class Reverser implements Comparator{ public int compare(Object o1, Object o2) { return -1 * ((Comparable) o1).compareTo(o2); } } public static void print(PriorityQueue pq){ while (pq.size() > 0){ System.out.println(pq.remove()); } } public static void main(String[] args){ int retval = ourChooser.showOpenDialog(null); if (retval == JFileChooser.APPROVE_OPTION){ File f = ourChooser.getSelectedFile(); Scanner s = new Scanner(f); ArrayList list = new ArrayList(); while (s.hasNext()){ list.add(s.next()); } System.out.println("read # words = "+list.size()); PriorityQueue pq = new PriorityQueue(); pq.addAll(list); print(pq); System.out.println("\n reversed \n"); PriorityQueue rpq = new PriorityQueue(new Reverser()); rpq.addAll(list); print(rpq); } else { System.out.println("operation cancelled"); } System.exit(0); } }