标签:插入 语句 意思 计时 面向 hierarchy inf 国庆 .com
方法 | 描述 |
---|---|
add(E element) | 往列表的末端添加一个元素 |
add(int index, E element) | 在指定索引处插入一个元素 |
get(int index) | 返回指定索引处的元素 |
remove(int index) | 删除指定索引处的元素 |
remove(o object) | 替代指定索引处的元素 |
set(int index,E element) | 返回列表中的元素数量 |
操作 | 描述 |
---|---|
removeFirst | 从列表中删除第一个元素 |
removeLast | 从列表中删除最后一个元素 |
remove | 从列表中删除某个元素 |
first | 查看位于列表前端的元素 |
last | 查看位于列表末端的元素 |
contains | 确定列表是否含有某个元素 |
isEmpty | 确定列表是否为空 |
size | 确定列表中的元素数量 |
问题2解决方法:
什么是Serializable接口?
一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才能被序列化
什么是序列化?
将对象的状态信息转换为可以存储或传输的形式的过程,在序列化期间,对象将其当前状态写入到临时存储区或持久性存储区,之后,便可以通过从存储区中读取或反序列化对象的状态信息,来重新创建该对象
什么情况下需要序列化?
当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来使用时都需要把对象进行序列化
Serializable主要用来支持两种主要的特性:
1、Java的RMI(remote method invocation),RMI允许像在本机上一样操作远程机器上的对象,当发送消息给远程对象时,就需要用到序列化机制来发送参数和接受返回值
2、Java的JavaBean,Bean的状态信息通常是在设计时配置的,Bean的状态信息必须被保存下来,以便当程序运行时能恢复这些状态信息,这也需要序Serializable机制
if(!found)
throw new ElementNotFoundException("LinkedList");
问题1解决方法:在debug了之后,我发现我调用了addAfter()方法后,如果新添加的数位于该列表的末尾,这时候我对tail这个尾部指针是没有进行任何操作的,tail此时并没有真正指向该列表的尾部。在这之后在调用removeLast()方法,就不能对尾部的节点进行正确的操作,会出现空指针的情况。
问题2解决方法:令我奇怪的时,当我打印输出整个列表时,我已经删掉的这个节点是不会出现的,我调用Last()方法打印该列表的最后一个节点所保存的元素发现也是没有问题的。我又更换了几组节点进行判断是否存在,更让我奇怪的事情发生了,只有当判断的节点是最后一个并且该节点被删除时才会出现问题。我进行了debug操作,在判断到我所认为的列表的末尾时,它竟然还会继续循环下去,指向那个我原本以为删除的节点!我终于发现了问题所在,在删除末尾节点的时候虽然将tail指向了它前面的节点,但并未将tail指向空,所以在循环的时候指针依旧是指向那个本要删除的节点的。如下图所示,我只要把tail再指向null就行了。
??不得不说,国庆七天假期内的学习效率是非常低的(不想学习!不想学习!不想学习!)。但还是硬撑着完成了编程任务、写完了博客。也没有花更多的功夫去进行拓展学习。总的来说,这七天的学习时间是不够的,希望在假期过去后,自己的学习状态有所回升,继续进步!
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
第一周 | 200/200 | 1/1 | 5/20 | |
第二周 | 981/1181 | 1/2 | 15/20 | |
第三周 | 1694/2875 | 1/3 | 15/35 | |
第四周 | 3129/6004 | 1/4 | 15/50 |
计划学习时间:15小时
实际学习时间:15小时
20172313 2018-2019-1 《程序设计与数据结构》第四周学习总结
标签:插入 语句 意思 计时 面向 hierarchy inf 国庆 .com
原文地址:https://www.cnblogs.com/yu-kunpeng/p/9748658.html