home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.pdx.edu / 2014.02.ftp.ee.pdx.edu.tar / ftp.ee.pdx.edu / oss / cvs-2004 / OpenHamLog / src / StrSortVector.java,v < prev   
Text File  |  2003-07-14  |  2KB  |  82 lines

  1. head    1.1;
  2. access;
  3. symbols;
  4. locks; strict;
  5. comment    @# @;
  6.  
  7.  
  8. 1.1
  9. date    2003.07.14.19.37.58;    author htodd;    state Exp;
  10. branches;
  11. next    ;
  12.  
  13.  
  14. desc
  15. @@
  16.  
  17.  
  18. 1.1
  19. log
  20. @Moving files and starting ant.
  21. @
  22. text
  23. @//: StrSortVector.java
  24. // Automatically sorted Vector that 
  25. // accepts and produces only Strings
  26. import java.util.*;
  27.  
  28. public class StrSortVector {
  29.   private SortVector v = new SortVector(
  30.     // Anonymous inner class:
  31.     new Compare() {
  32.       public boolean 
  33.       lessThan(Object l, Object r) {
  34.         return 
  35.           ((String)l).toLowerCase().compareTo(
  36.           ((String)r).toLowerCase()) < 0;
  37.       }
  38.       public boolean 
  39.       lessThanOrEqual(Object l, Object r) {
  40.         return 
  41.           ((String)l).toLowerCase().compareTo(
  42.           ((String)r).toLowerCase()) <= 0;
  43.       }
  44.     }
  45.   );
  46.   private boolean sorted = false;
  47.   public void addElement(String s) {
  48.     v.addElement(s);
  49.     sorted = false;
  50.   }
  51.   public String elementAt(int index) {
  52.     if(!sorted) {
  53.       v.sort();
  54.       sorted = true;
  55.     }
  56.     return (String)v.elementAt(index);
  57.   }
  58.   public Enumeration elements() {
  59.     if(!sorted) {
  60.       v.sort();
  61.       sorted = true;
  62.     }
  63.     return v.elements();
  64.   }
  65.   // Test it:
  66.   public static void main(String[] args) {
  67.     StrSortVector sv = new StrSortVector();
  68.     sv.addElement("d");
  69.     sv.addElement("A");
  70.     sv.addElement("C");
  71.     sv.addElement("c");
  72.     sv.addElement("b");
  73.     sv.addElement("B");
  74.     sv.addElement("D");
  75.     sv.addElement("a");
  76.     Enumeration e = sv.elements();
  77.     while(e.hasMoreElements())
  78.       System.out.println(e.nextElement());
  79.   }
  80. } ///:~ 
  81. @
  82.