• 第八周学习总结


    20175205 2018-2019-3 《Java程序设计》第八周学习总结

    教材学习内容总结

    教材学习中的问题和解决过程

    Q:教材例子2中System.currentTimeMillers()
    A:

    Q:教材例子2中iter.hasNext()iter.next()
    A:

    Q:教材例子3中将LinkedList改为ArrayList
    A:动手实践了一下,发现两种输出结果是一样的。

    数组和链表的区别:
    • 不同:链表是链式的存储结构;数组是顺序的存储结构。
      • 链表通过指针来连接元素与元素,数组则是把所有元素按次序依次存储。
      • 链表的插入删除元素相对数组较为简单,不需要移动元素,且较为容易实现长度扩充,但是寻找某个元素较为困难;
      • 数组寻找某个元素较为简单,但插入与删除比较复杂,由于最大长度需要再编程一开始时指定,故当达到最大长度时,扩充长度不如链表方便。
    • 相同:两种结构均可实现数据的顺序存储,构造出来的模型呈线性结构。

    Q:教材例子7中涉及到了很多没学过的窗口知识
    A:JTextField —— 建立单行文本框
    **JTextField的方法:public void setText(String t) **

    **HashMap的方法:public V put(K key, V value) **

    **ActionEvent的方法:public String getActionCommand() **

    Q:为什么使用迭代器便利链表
    A:迭代器遍历在找到集合中的一个对象的同时,也得到待遍历的后继对象的引用,因此迭代器可以快速地遍历集合。

    代码调试中的问题和解决过程

    Q:教材例子9,compareTo方法返回时为什么要*1000

    A:还没有解决。。。

    代码托管

    总结

    数组

    • 数组是最最基本的数据结构,很多语言都内置支持数组。数组是使用一块连续的内存空间保存数据,保存的数据的个数在分配内存的时候就是确定的:
    • 因此在查找某个元素的时候,只能遍历数组;在插入或删除元素的时候,如果不是在尾部进行操作,那么就要将该位置之后的元素全部移动,工作量很大。

    链表

    • 链表是在非连续的内存单元中保存数据,并且通过指针将各个内存单元链接在一起,最有一个节点的指针指向 NULL 。链表不需要提前分配固定大小存储空间,当需要存储数据的时候分配一块内存并将这块内存插入链表中。
    • 插入删除数据比较方便,只需要调整指针即可

    堆栈

    • 对于堆栈中的数据的所有操作都是在栈的顶部完成的,只可以查看栈顶部的数据,只能够向栈的顶部压入数据,也只能从栈的顶部弹出数据。

    参考博客

    数组、链表、堆栈、队列和树

  • 相关阅读:
    【类似N^N做法的斐波那契数列】【HDU1568】 Fibonacci
    【取对数+科学计数法】【HDU1060】 N^N
    【枚举+数学】【HDU1271】整数对 难度:五颗星
    【欧拉函数】【HDU1286】 找新朋友
    【筛素数表证明】【O[n]】
    【沙茶了+筛选保存最大质因数】【HDU2136】Largest prime factor
    【gcd+数学证明】【HDU1722】 CAKE
    【贪心】【HDU3177】 搬家问题
    HDU2093 字符串2种不错的读入思路
    tf.argmax()
  • 原文地址:https://www.cnblogs.com/orii/p/10732233.html
Copyright © 2020-2023  润新知