zoukankan      html  css  js  c++  java
  • 单机wordcount

     1 package com.util;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.File;
     5 import java.io.FileInputStream;
     6 import java.io.InputStreamReader;
     7 import java.util.*;
     8 
     9 /**
    10  * Created by jinxin11 on 2017/2/6.
    11  */
    12 public class WordCount {
    13 
    14     //排序方法
    15     public static <K, V extends Comparable<V>> TreeMap<K, V> sortByValues(
    16             final Map<K, V> map) {
    17         Comparator<K> valueComparator = new Comparator<K>() {
    18             public int compare(K k1, K k2) {
    19                 int compare = map.get(k2).compareTo(map.get(k1));
    20                 if (compare == 0)
    21                     return 1;
    22                 else
    23                     return compare;
    24             }
    25         };
    26         TreeMap<K, V> sortedByValues = new TreeMap<K, V>(valueComparator);
    27         sortedByValues.putAll(map);
    28         return sortedByValues;
    29     }
    30 
    31     public static void main(String[] args) {
    32         try {
    33             Map<String,Integer> map = new HashMap();
    34             //读取文件
    35             File file = new File("C:\Users\jinxin11\Desktop\wordcount.txt");
    36             if (file.isFile() && file.exists()) {
    37                 InputStreamReader read = new InputStreamReader(new FileInputStream(file));
    38                 BufferedReader bufferedReader = new BufferedReader(read);
    39                 String lineTXT = null;
    40                 while ((lineTXT = bufferedReader.readLine()) != null) {
    41                     //以空格切割每行数据
    42                     String[] lines = lineTXT.split(" ");
    43                     //将单词和单词计数放入map
    44                     for (String str : lines) {
    45                         if (map.containsKey(str)) {
    46                             map.put(str, map.get(str) + 1);
    47                         } else {
    48                             map.put(str, 1);
    49                         }
    50                     }
    51                 }
    52                 read.close();
    53                 //对map进行排序
    54                 TreeMap<String, Integer> treeMap = sortByValues(map);
    55                 System.out.println(treeMap);
    56                 System.out.println(treeMap.firstKey());
    57             }else{
    58                 System.out.println("找不到指定的文件!");
    59                 }
    60             } catch (Exception e) {
    61                 System.out.println("读取文件内容操作出错");
    62                 e.printStackTrace();
    63             }
    64          }
    65 }
  • 相关阅读:
    rhel5.4 x64安装apache http server2.2.27,并创建自动启服务
    解决BEA-000438 Unable to load performance pack.
    为aix系统挂载iso镜像-命令
    IBM小型机创建RAID
    linux下使用parted工具划分大于2T的分区
    linux下的SElinux
    日立HDS AMS2100存储的调试
    rhel创建yum源
    rfid安全简介
    安卓模拟器抓包
  • 原文地址:https://www.cnblogs.com/jinniezheng/p/6379429.html
Copyright © 2011-2022 走看看