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 / Attic / StrSortVector.java,v < prev    next >
Text File  |  2003-07-14  |  2KB  |  96 lines

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