SanatSortedSet.java |
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
SanatSortedSet.java |