1,拿到 API 文档

登录 https://docs.oracle.com/javase/8/docs/api/

选中特定的类,然后 copy 其中的内容,

放入 TXT 文件中 ,

2,读取TXT内容,并排序

package com.lgx.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap; public class ReadVectorAPI { public static String filename = "src/Vector.txt";
public static StringBuffer sb = null; public static void main(String[] args) {
try {
//根据单词字母排序
countWordOrderByWord();
//根据单词频率排序
countWordOrderByCount();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} // 计算单词的出现次数,依据单词排序
public static void countWordOrderByWord() throws FileNotFoundException {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(new File(filename)));
String inputLine = null;
TreeMap<String, Integer> map = new TreeMap<String, Integer>();
while ((inputLine = br.readLine()) != null) {
String[] words = inputLine.split("[ \n\t\r.,;:!?(){}]");
for (int i = 0; i < words.length; i++) {
String key = words[i].toLowerCase();
if (key.length() > 0) {
if (map.get(key) == null) {
map.put(key, 1);
} else {
int times = map.get(key).intValue();
times++;
map.put(key, times);
}
}
}
}
Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
System.out.println("=====根据单词字母排序=====");
for (Map.Entry<String, Integer> entry : entrySet) {
System.out.println(entry.getKey() + " 在API文档中出现了 " + entry.getValue() + " 次");
}
} catch (IOException e) {
e.printStackTrace();
}
} // 计算单词的出现次数,依据次数排序
public static void countWordOrderByCount() throws FileNotFoundException {
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(new File(filename)));
String inputLine = null;
TreeMap<String, Integer> map = new TreeMap<String, Integer>();
while ((inputLine = br.readLine()) != null) {
String[] words = inputLine.split("[ \n\t\r.,;:!?(){}]");
for (int i = 0; i < words.length; i++) {
String key = words[i].toLowerCase();
if (key.length() > 0) {
if (map.get(key) == null) {
map.put(key, 1);
} else {
int times = map.get(key).intValue();
times++;
map.put(key, times);
}
}
}
} List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
System.out.println("=====根据单词频率排序=====");
for (Map.Entry<String, Integer> mapping : list) {
System.out.println(mapping.getKey() + " 在API文档中出现了 " + mapping.getValue() + " 次");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

输出结果前部分截图为;

读取JDK API文档,并根据单词出现频率排序的更多相关文章

  1. 所谓的规范以及JDK api文档的重要性

    所谓的规范,就是在jee api 文档里对应的接口. 可以从jdk文档和jee文档的目录结构,接口中获取对整个编程范围的把握

  2. JDK API文档下载

    java SE 8 API文档:http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-21331 ...

  3. JDK API文档中,<E>、<T>、<?>分别代表什么意思?

    Type ParameterConventionsYou have already seen the angle bracketand single letter notation used tore ...

  4. JDK API文档_1.6.0 中文版

    链接:https://pan.baidu.com/s/1b0inUgYvEfjeusa3z_2p-g  密码:f8jk

  5. (转载)中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  6. 中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  7. Day01:API文档 / 字符串基本操作

    JDK API 什么是JDK API? JDK中包含大量的API类库,所谓AP就是一些写好的,可提供直接调用的功能(在Java语言中,这些功能以类的形式封装). JDK API包含的类库功能强大,经常 ...

  8. API文档自动生成,Swagger的配置

    ASP.NET的部署方式 第一步:引用程序集 打开NuGet程序包管理器,搜索Swagger,安装第一个,注意画圈的地方, 已经包含主程序和UI了,安装完成后会在根目录App_Start文件夹下生成S ...

  9. 如何使 WebAPI 自动生成漂亮又实用在线API文档

    1.前言 1.1 SwaggerUI SwaggerUI 是一个简单的Restful API 测试和文档工具.简单.漂亮.易用(官方demo).通过读取JSON 配置显示API. 项目本身仅仅也只依赖 ...

随机推荐

  1. pytest中unicode编码问题(如test_fix.py::Test1::test_s1[\u6d4b\u8bd5-\u6d4b\u8bd5])

    现象: 采用如下方式可将其正确显示为中文 ss = r"test_fix.py::Test1::test_s1[\u6d4b\u8bd5-\u6d4b\u8bd5]" print( ...

  2. unittest断言

    assertEquals(expected,actual,msg=msg)    # 判断 expected,actual是否一致,msg类似备注,可以为空

  3. art-template的循环操作

    art-template的官方文档(网址:https://aui.github.io/art-template/docs/)中对循环的介绍如下: 循环 标准语法 {{each target}} {{$ ...

  4. ElasticSearch - ElasticSearch和kinaba的简单使用

    ElasticSearch和kinaba的简单使用 ElasticSeatch 文档推荐 ElasticSearch 下载 (端口 9200) 安装好es,可以访问 http://localhost: ...

  5. 前端jsp联系项目相关经验

    ——引语 总算是有时间将我这几个月总结下了  前面都是总结的比较凌乱.希望这次好好组织语言 接触到前端js时还是比较陌生的了,因为之前一直用的zk来进行开发的,不过稍稍提下总能记起一些来,对比以前用的 ...

  6. web常用知识

    Html 1.打电话,发短信和发邮件 <a href="tel:0755-10086">打电话给:0755-10086</a> <a href=&qu ...

  7. MySql逻辑结构简介

    结构示意图: 如上图,可把数据库的结构分成四层,见下图及文字说明  一.连接层提供客户端和连接服务,包含本地Sock通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信,主要完成一些类似于 ...

  8. 陈莉君教授: 回望踏入Linux内核之旅

    本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 陈莉君 来源: 微信公众号linux阅码场(id: linuxdev) 初次踏入Linux 几多耕耘,几多收获 ...

  9. Web for pentester_writeup之File Include篇

    Web for pentester_writeup之File Include篇 File Include(文件包涵) Example 1 加一个单引号 从报错中我们可以获取如下信息: 当前文件执行的代 ...

  10. SpringBoot之集成MyBatis

    引入工程依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...