001    import java.io.*;
002    import fi.jyu.mit.ohj2.*;
003    import java.util.StringTokenizer;
004    import java.util.SortedSet;
005    import java.util.TreeSet;
006    import java.util.Set;
007    import java.util.Iterator;
008    import java.util.Collections;
009    import java.util.Collection;
010    
011    /**
012     * Luokka sanojen esiintymismäärien laskemiseksi.  Toteutettu
013     * SorterSet-rakenteella.  Jäi kesken eikä toimi vielä.
014     * @author Vesa Lappalainen
015     * @version 1.0, 16.03.2003
016     */
017    public class SanatSortedSet {
018    
019      public class Laskuri {
020        private int arvo;
021        public Laskuri(int arvo) { this.arvo = arvo; }
022        public void lisaa() { arvo++; }
023        public String toString() { return ""+arvo; }
024      }
025    
026    
027      Set alkiot = new TreeSet();
028    /*
029      public void lisaa(String s) {
030        Laskuri sana = (Laskuri)Collections.binarySearch(alkiot,s);
031        if ( sana != null ) {
032          sana.lisaa();
033          return;
034        }
035        sana = new Laskuri(1);
036        alkiot.put(s,sana);
037      }
038    
039      public void tulosta(OutputStream os) {
040        PrintStream out = Tiedosto.getPrintStream(os);
041        Set entrySet = alkiot.entrySet();
042        for (Iterator i=entrySet.iterator(); i.hasNext(); )
043          out.println(i.next());
044      }
045    
046    
047      public void lisaa_rivi(String rivi) {
048        String sana;
049        StringTokenizer st = new StringTokenizer(rivi," ,();.:[]{}+-");
050        while ( st.hasMoreTokens() ) {
051          sana = st.nextToken();
052          lisaa(sana);
053        }
054      }
055    
056      public void lue_tiedosto(String tied) throws IOException {
057        BufferedReader fi = Tiedosto.avaa_lukemista_varten(tied);
058        if ( fi == null ) throw new FileNotFoundException("Ei löydy: " + tied);
059    
060        try {
061          String rivi;
062          while ( ( rivi = fi.readLine() ) != null  ) {
063            lisaa_rivi(rivi);
064          }
065        } finally {
066          fi.close();
067        }
068      }
069    
070    */
071      public static void main(String[] args)  {
072     /*
073        SanatSortedSet sanat = new SanatSortedSet();
074        sanat.lisaa("kissa");
075        sanat.lisaa("kissa");
076        sanat.lisaa("koira");
077        sanat.tulosta(System.out);
078        sanat.lisaa_rivi("kissa, istuu kissa puussa");
079        sanat.tulosta(System.out);
080      */
081    }
082    }