相关知识点总结:

1.LinkedList泛型类创建一个链表对象

LinkedList<String> mylist = new LinkedList<String>();

2.向链表中依次添加结点

mylist.add();

3.链表的遍历

LinkedList类中的get(int index)方法将返回当前链表中第index个结点中的对象链表对象可以使用iterator()方法获取一个Iterator对象,该对象是针对当前链表的迭代器。

4.排序与查找

public static sort(List<E>list)该方法可将list中的元素按升序排列int binarySearch(List<T>list,T key,CompareTo<T> c)使用折半查找list是否含有和参数key相等的元素还可以通过Comparable接口规定对象的大小比较
  1. 链表相关的概念

    单链表:每个结点含有一个数据和下一个结点的引用

    双链表:每个结点含有一个数据和下一个结点的引用以及上一个结点的引用

    Collections类可以通过调用sort方法来进行排序

课上内容补做截图:
一、

  • 在数据结构和算法中,排序是很重要的操作,要让一个类可以进行排序,有两种方法:
  • 有类的源代码,针对某一成员变量排序,让类实现Comparable接口,调用Collection.sort(List)
  • 没有类的源代码,或者多种排序,新建一个类,实现Comparator接口 调用Collection.sort(List, Compatator)

运行截图:

二、补充MyList.java的内容,提交运行结果截图(全屏)

错因:一开始实用链表的Linked相关方法进行操作,之后才发现需要运用Node进行结点的相关操作

运行截图:

书上代码分析:

15.1:声明一个泛型类Cone,计算体积的时候只关心它的底能否计算面积,和底的具体形状没有关系,所以求体积时用泛型做底,而且泛型变量只能调用从object类继承或重写的方法,例子中的底面积需要用tostring()方法。

15.2:该例子是为了比较get(int index)方法与iterator()方法遍历链表所需要的时间。因为LinkedList的存储结构不是顺序结构,所以链表调用get(int index)方法所要的时间长,所以需要用迭代器。

15.3:这个例子是使用老版本JDK的LinkedList,创建一个新链表,添加元素进行遍历,一个是使用get index,一个是使用迭代器。

15.4:例子4是通过Comparable接口规定的大小关系来进行对链表的排序,最后再用Collections类调用sort方法排序。该程序中在 compareTo方法里返回的是height的大小比较,所以链表中的对象是按照height的大小来决定对象之间的大小关系。

15.5:该例子就是使用了Collections类中的洗牌算法还有旋转算法对链表进行洗牌还有旋转,再分别将它们遍历输出看变化。

15.6:该例子是使用堆栈输出一个递归序列,算法是后一项等于前两项的和,也就是Fibonacci数列。 重要的操作就是

压栈和弹栈: push 压栈pop 弹栈

15.7:该例子是一个英语单词查询的GUI程序,用户在界面的一个文本框中输入一个英文单词,另一个文本框显示单词的翻译

15.8:该例子首先是创建了一个树集,在树集里面增添了四个元素,而树集和链表不一样,添加的时候它就按照对象的大小进行添加的。

90 赵一66 钱二86 孙三76 李四

15.9:该例子是使用TreeMap分别按学生的英语成绩和数学成绩排序结点,不仅存储了数据,还存储了与其相关联的关键字(即数学和英语)。

15.10:该例子实现了自动装箱与自动拆箱的功能。

程序允许把一个基本数据类型添加到类似链表等数据结构中,系统会自动完成基本类型到相应对象的转换,获取时系统自动完成对象到基本类型的转换。

书上编程题目:

1.使用堆栈结构输出an的若干项,其中an=2an-2,a1=3,a2=8。

解法:按照15.7的例题修改栈一开始的两个元素,再修改temp的计算方法就行

2.编写一个程序,将链表中的学生英语成绩单存放到一个树集中,使得按成绩自动排序,并输出排序结果。

解法:按照15.8的例题,用两个迭代器,一个链表的,一个是树集的,分别将链表中的Student对象添加到树集中,再通过树集的迭代器挨个打印出来

3.有10个U盘,有两个重要属性:价格和容量。编写一个应用程序,使用TreeMap<K,V>类,分别按照价格和容量排序输出10个U盘的详细信息。

解法:按照15.9的例题,将英语和数学修改成U盘的容量和价格就行了

转载于:https://www.cnblogs.com/Gst-Paul/p/9000102.html

20165320 第十周课上测试补做相关推荐

  1. 20165204 第十周课下作业补做

    20165204 第十周课下测试补做 课上测试内容补做 测试2 针对下面的Student类,使用Comparator编程完成以下功能: 在测试类StudentTest中新建学生列表,包括自己和学号前后 ...

  2. 20165212任胤第四周课上作业补做

    20165212任胤 第四周课上测试补做 题目:jdb调试递归循环程序 程序代码: import java.util.Arrays;public class B {public static void ...

  3. 2018-2019-1 20165318《信息安全系统设计基础》第八周课上测试

    2018-2019-1 20165318<信息安全系统设计基础>第八周课上测试 测试-1-ch03 任务详情 通过输入gcc -S -o main.s main.c,将下面c程序" ...

  4. 20165305 第十周课下补做

    知识总结 java.util包中的LinkedList 遍历:遍历链表,利用迭代器.链表对象可以使用iterator()方法获取一个Iterator对象,该对象就是针对当前链表的迭代器. 创建一个空的 ...

  5. 20165235 第十周课下补做

    20165235 祁瑛 第十周课下补做 相关知识点的总结 LinkedList<String> mylist=new LinkedList<String>()来创建一个链表. ...

  6. 20165301第十周课下补做

    第十周课下补做 知识点总结 创建一个空的链表 List<Student> list = new LinkedList<Student>(); 向链表中添加新的结点 list.a ...

  7. 2017-2018-1 20155320第十周课下作业-IPC

    2017-2018-1 20155320第十周课下作业-IPC 研究Linux下IPC机制:原理,优缺点,每种机制至少给一个示例,提交研究博客的链接 共享内存 管道 FIFO 信号 消息队列 共享内存 ...

  8. 20162328蔡文琛 第十周 周五 课上测试

    十字链表 十字链表(Orthogonal List)是有向图的另一种链式存储结构.该结构可以看成是将有向图的邻接表和逆邻接表结合起来得到的.用十字链表来存储有向图,可以达到高效的存取效果.同时,代码的 ...

  9. 2017-2018-1 2015335 《信息安全系统设计基础》 第4周课上实践 (新补的,但不完整)...

    参考教材第十章内容 用Linux IO相关系统调用编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能,注意XXX是文件名,通过命令行传入,不要让用户输入文件名 不要 ...

最新文章

  1. python七段数码管设计图案-Python绘制七段数码管实例代码
  2. socket/WebSocket/WebService/http/https概念
  3. Agrona的Threadsafe堆外缓冲区
  4. leetcode944. 删列造序
  5. sonar覆盖率怎么统计的_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(上)...
  6. M1卡说明及使用proxmark3破解方法
  7. mysql打开数据库控制台_在控制台中操作MYSQL数据库步骤以及一些小问题
  8. 使用Dom4j的xPath解析xml文件------xpath语法
  9. Nginx 编译参数详解/大全
  10. HBuilder如何配置SVN的步骤详解及HBuilderX SVN使用教程
  11. linux下nfs安装配置
  12. android 热点 连接电脑上网,安卓手机做wifi热点让笔记本上网的方法
  13. 剑指offer 62题 约瑟夫环
  14. 错误 bpbrm(PID=7552) 从客户端 - Script exited with status = 1 the requested operat
  15. 区块链资产投资指南及技巧
  16. JAVA整合腾讯COS(拿来即用)
  17. 论文学习笔记 SIMC: ML Inference Secure Against Malicious Clients at Semi-Honest Cost
  18. linux开发工具列表
  19. Win10预览版常用快捷键
  20. 最强摸鱼神器:开着IDEA看股票,看小说...

热门文章

  1. 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式
  2. 【java开发系列】—— spring简单入门示例
  3. 鸟哥的Linux私房菜(服务器)- 第二十一章、文件服务器之三: FTP 服务器
  4. 感知器 Perceptron
  5. 深度学习和浅层学习 Deep Learning and Shallow Learning
  6. 编程之美-寻找最大的k个数
  7. 【python图像处理】几何图形的绘制与文字的绘制(ImageDraw类详解)
  8. 关于图片缩放的两种方式
  9. Hyper-V 2016 系列教程26 Hyper-v平台并口外设解决方案介绍
  10. Raspberry Pi 软件源