PTA与参考资料

集合预习课件

题集:jmu-Java-06-集合

集合实验文件

第1次实验

1.1 ArrayListIntegerStack(课堂演示)

可演示:jdk中的javadoc文档注释/**

javadoc:javadoc技术可以从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。

注1:不要导入java.awt.List,应导入java.util.List

注2:提交的时候务必要将中文注释删掉。

思考:是否一定要指定栈中的元素类型?

1.2 银行业务队列简单模拟(课堂演示)

Queue<String> q = new Queue<>();

可以成功吗?为什么?

LinkedList<Integer> queue = new LinkedList<>();
queue.addLast(1);
Queue<String> q = new LinkedList<>();
q.addLast(1); #为什么这句会错误?

请在JDK文档中查询Queue接口,然后看其有什么实现类?使用其中一个实现类完成。

可演示:ctrl+shift+o 快速导入所需包, ctrl+2

思考:可以直接使用LinkedList<String> queue = new LinkedQueue<>();直接代替队列使用吗?

1.3 统计一段英文文字中的不同单词的个数并按单词的字母顺序排序后输出(课堂演示)

采用什么List、Set、Queue还是Map?

如何按字母顺序排序?

逐个读取单词,见Scanner的hasNext()与next()方法

如何遍历?forEach, iterator

快速测试技巧:

String str = "将PTA中的输入样例直接粘贴到Eclipse的双引号之间,并删掉多余的字符";
//Scanner sc = new Scanner(System.in); //然后把System.in改成str,如下所示
Scanner sc = new Scanner(str); //Scanner可直接对字符串处理
//其他代码

接下来测试的时候,就直接运行。无需在控制台手动粘贴输入样例。

注意:在PTA提交的时候。需要将Scanner(str)改成Scanner(System.in)。

1.4 尝试使用Java集合类中的LinkedList代替栈,来判断一个字符串是否是回文

  • 简单讲解:使用栈判断回文的原理。
  • 简单讲解:使用LinkedList中的哪两个方法来代替入栈与出栈。

第2次实验

2.1 6-1 List中指定元素的删除

读取单词到List:Scanner lineScanner = new Scanner(line),然后使用lineScanner的next方法。可以忽略词与词之间空格、多个空格。

从头到尾删要注意什么?

2.2 7-3 统计文字中的单词数量并按出现次数排序(课堂演示)

  1. Map的Key, Value分别应该是什么类型?
  2. 怎么判断Map中的的keySet中是否存在某个单词?如果单词不存在,怎么放入Map?
  3. 怎么对value进行排序?Collections仅能对List进行排序,怎么将EntrySet转化为List (List有一个构造函数,可以接收Set)?如何对List进行排序?
  4. 在IDE中如何快速生成匿名内部类(如Comparator)?alt+/

2.3 7-4 倒排索引(自行完成)

2.4 7-5 GeneralStack(自行完成)

简单讲解:泛型接口、泛型类的意义。

2.5 本章特别加分任务

实验任务书中的“倒排索引”、“逆向最大匹配分词算法”。

请为你的程序编写若干方法,比如:对于“倒排索引”题目,

请至少编写如下几个方法:

  • 建立索引 createIndex
  • 打印索引 printIndex
  • 检索 queryIndex

对于“逆向最大匹配分词算法”,请至少编写:

  • List split(String line, Set words) //对lines使用词表words进行分词

编写好以后,请直接给老师演示并讲解清楚。

参考资料:

有哪些比较好的中文分词方案?

结巴分词(java版) jieba-analysis

参考链接

Java第07次实验提纲(异常)

Java第06次实验提纲(集合)的更多相关文章

  1. Java第5次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

  2. Java第05次实验提纲(Java图形界面编程)

    1. Swing与NetBeans 使用NetBeans编写简单界面.见GUI实验参考文件中的0.第06次实验(图形程序设计.事件处理与Swing).doc 题目1: Swing用户界面组件与事件处理 ...

  3. Java第5次实验提纲(集合)

    PTA与参考资料 重要参考-集合简述 题集:jmu-Java-05-集合 集合实验文件 第1次实验 1.1 7-1ArrayListIntegerStack(课堂演示) 注1:不要导入java.awt ...

  4. Java第6次实验提纲(异常)

    PTA与参考资料 题集:集合 异常实验文件 第1次实验 1.1 7-1 常用异常 如何进行强制转换 如何捕获多种类型的异常 1.2 7-2 使用异常机制处理异常输入 在哪里加catch 1.3 7-3 ...

  5. Java第07次实验提纲(异常)

    PTA与参考资料 题集:集合 异常实验文件 第1次实验 1.1 7-1 常用异常 如何进行强制转换.父类型转化为子类型常见错误. 如何捕获多种类型的异常 简要输出异常信息,System.out.pri ...

  6. Java第2次实验提纲(Java基本语法与类库)

    1. 使用Git克隆(clone)项目到你的Eclipse项目中 见以下参考资料中的3 从码云将项目clone到你的电脑 重要提示: 使用Git来管理你的代码以后,当你在本机Eclipse项目中开始编 ...

  7. Java第02次实验提纲(Java基本语法与类库)

    1. 熟悉Git 1.1 学会使用网页版的操作代码仓库(gitee) 申请账号,然后根据老师提供的链接或者二维码加入团队,然后修改昵称. fork老师提供的代码库项目,新建自己学号命名的文件并上传一些 ...

  8. Java第1次实验提纲(基本概念与引入PTA+Git)

    0. 控制台下编译.运行 在Notepad++编写Java程序 学会使用控制台,javac.java 学会使用Notepad++ 参考资料: 控制台-cmd应用基础 扫盲教程 使用命令行编译并运行ja ...

  9. Java第7次实验提纲(多线程)

    PTA与参考资料 题集:多线程 多线程实验参考文件 ThreadReading 实验-基础部分 1.1 基础题目MyThread类.自行完成题集合的:PrintTask 1.2 Runnable与匿名 ...

随机推荐

  1. Java中的List集合和迭代器

    一.Java中的List集合. 终于有时间来好好整理一下Java中的集合. 首先要讲的就是List集合.Java中List集合主要将两个: 第一个是底层使用数组维护的ArrayList,第二个是底层是 ...

  2. Container(容器)

    容器可以管理对象的生命周期.对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称.如何产生(Prototype 方式或Singleton 方式). 哪个对象产生之后 ...

  3. lesson1-fastai

    fast-ai系统资料https://www.jianshu.com/p/2fe22a6b0ecb 中文视频 https://www.bilibili.com/video/av10156946/ind ...

  4. 第15次Scrum会议(10/27)【欢迎来怼】

    一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/27 17:20~17:45,总计25min. 地点 ...

  5. 2018.4.23 《深入理解Java虚拟机:JVM高级特性与最佳实践》笔记

    一.Java内存区域与内存溢出 1.程序计数器是一块较小的内存空间,它可看作是当前线程所执行的字节码的行号指示器.字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令.各条线程 ...

  6. log4j.properties与db.properties

    log4j.properties与db.properties db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql:///mybatis?useUnico ...

  7. Apache Kafka 源码剖析

    Getting Start 下载 http://kafka.apache.org/ 优点和应用场景 Kafka消息驱动,符合发布-订阅模式,优点和应用范围都共通 发布-订阅模式优点 解耦合 : 两个应 ...

  8. 使用fastjson解析数据后导致顺序改变问题

    在开发过程中遇到一个问题,服务器经过排序返回后的字符串数据使用fastjson解析后,数据顺序发生变化,引起业务异常. 解决办法: 1.解析时增加参数不调整顺序 JSONObject responde ...

  9. 【liunx】sftp常用命令

    sftp是Secure FileTransferProtocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.sftp与 ftp有着几乎一样的语法和功能.SFTP为 SSH的一部分, ...

  10. 【spring源码分析】spring和@PostConstruct注解

    @PostConstruct注解好多人以为是Spring提供的.其实是Java自己的注解. Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法.被@Pos ...