Vous êtes sur la page 1sur 2

import import import import import import import import import import import

java.io.BufferedReader; java.io.FileNotFoundException; java.io.FileReader; java.io.IOException; java.util.Collections; java.util.Comparator; java.util.LinkedHashMap; java.util.Map; java.util.SortedMap; java.util.StringTokenizer; java.util.TreeMap;

public class FileCountwords implements Comparator { private SortedMap<String, Integer> dataMap = new TreeMap<String, Integer >(); private SortedMap<String, Integer> sorted_map = new TreeMap<String, Inte ger>( this); public void counter(String str) { try { int count = 0; StringTokenizer st = new StringTokenizer(str); while (st.hasMoreTokens()) { String actual = st.nextToken(); String reverse = new StringBuffer(actual).revers e().toString(); if (actual.equals(reverse)) { Integer index = dataMap.get(actual); if (index == null) dataMap.put(actual, 1); else dataMap.put(actual, ++index); } count++; } System.out.println("File has " + count + " words."); System.out.println("Datamap" + dataMap); sorted_map.putAll(dataMap); System.out.println("sorted_map" + sorted_map); System.out.println("Highest count word:" + sorted_map.fi rstKey()); System.out.println("Counting value is :" + sorted_map.get(sorted_map.firstKey())) ; } catch (Exception ex) { ex.printStackTrace(System.out); } } @Override public int compare(Object a, Object b) { // TODO Auto-generated method stub if ((Integer) dataMap.get(a) < (Integer) dataMap.get(b)) { return 1; } else if ((Integer) dataMap.get(a) == (Integer) dataMap.get(b)) {

return 0; } else { return -1; } } public static void main(String[] args) { try{ BufferedReader br = new BufferedReader(new FileReader("filename" )); String line = "", str = ""; while ((line = br.readLine()) != null) { str += line + " "; } new FileCountwords().counter(str); }catch(FileNotFoundException ffe) { ffe.printStackTrace(System.out); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(System.out); } } }

Vous aimerez peut-être aussi