1   import java.io.*;
2   import fi.jyu.mit.ohj2.*;
3   import java.util.StringTokenizer;
4   import java.util.SortedSet;
5   import java.util.TreeSet;
6   import java.util.Set;
7   import java.util.Iterator;
8   import java.util.Collections;
9   import java.util.Collection;
10  
11  /**
12   * Luokka sanojen esiintymismäärien laskemiseksi.  Toteutettu
13   * SorterSet-rakenteella.  Jäi kesken eikä toimi vielä.
14   * @author Vesa Lappalainen
15   * @version 1.0, 16.03.2003
16   */
17  public class SanatSortedSet {
18  
19    public class Laskuri {
20      private int arvo;
21      public Laskuri(int arvo) { this.arvo = arvo; }
22      public void lisaa() { arvo++; }
23      public String toString() { return ""+arvo; }
24    }
25  
26  
27    Set alkiot = new TreeSet();
28  /*
29    public void lisaa(String s) {
30      Laskuri sana = (Laskuri)Collections.binarySearch(alkiot,s);
31      if ( sana != null ) {
32        sana.lisaa();
33        return;
34      }
35      sana = new Laskuri(1);
36      alkiot.put(s,sana);
37    }
38  
39    public void tulosta(OutputStream os) {
40      PrintStream out = Tiedosto.getPrintStream(os);
41      Set entrySet = alkiot.entrySet();
42      for (Iterator i=entrySet.iterator(); i.hasNext(); )
43        out.println(i.next());
44    }
45  
46  
47    public void lisaa_rivi(String rivi) {
48      String sana;
49      StringTokenizer st = new StringTokenizer(rivi," ,();.:[]{}+-");
50      while ( st.hasMoreTokens() ) {
51        sana = st.nextToken();
52        lisaa(sana);
53      }
54    }
55  
56    public void lue_tiedosto(String tied) throws IOException {
57      BufferedReader fi = Tiedosto.avaa_lukemista_varten(tied);
58      if ( fi == null ) throw new FileNotFoundException("Ei löydy: " + tied);
59  
60      try {
61        String rivi;
62        while ( ( rivi = fi.readLine() ) != null  ) {
63          lisaa_rivi(rivi);
64        }
65      } finally {
66        fi.close();
67      }
68    }
69  
70  */
71    public static void main(String[] args)  {
72   /*
73      SanatSortedSet sanat = new SanatSortedSet();
74      sanat.lisaa("kissa");
75      sanat.lisaa("kissa");
76      sanat.lisaa("koira");
77      sanat.tulosta(System.out);
78      sanat.lisaa_rivi("kissa, istuu kissa puussa");
79      sanat.tulosta(System.out);
80    */
81  }
82  }
83