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

一.教材学习内容总结:

1.泛型:

  • 泛型的主要目的是可以建立具有类型安全的集合框架(如链表、散列映射等数据结构)
  • 通过class 名称<泛型列表>来声明一个类,这样声明的类被称作泛型类。
  • 泛型类最重要的优点就是:在使用这些泛型类建立数据结构时,不必进行强制类型转换,即不要求进行运行时的类型检查

2.LinkedList泛型类:

  • LinkedList泛型类创建的对象以链表结构存储数据,习惯上称LinkedList类创建的对象为链表对象。例如,LinkedList<String> mylist=new LinkedList<String>();
  • LinkedList泛型类常用方法
  • 1.LinkedList泛型类实现Lis泛型接口中的一些常用方法。
  • 2.public boolean add(E element) 向链表末尾添加一个新的节点,该节点中的数据是参数elememt指定的数据。
  • 3.public void add(int index ,E element) 向链表的指定位置添加一个新的节点,该节点中的数据是参数elememt指定的数据。
  • 4.public void clear() 删除链表的所有节点,使当前链表成为空链表。
  • 5.public E remove(int index) 删除指定位置上的节点。
  • 6.public boolean remove(E element) 删除首次出现含有数据elemen的节点。
  • 7.public E get(int index) 得到链表中指定位置处节点中的数据。

3.堆栈:

  • 堆栈是一种“后进先出”的数据结构,只能在一端进行输入或输出数据的操作。
  • 1.Stack泛型类创建一个堆栈对象,堆栈对象常用方法:

  • 2.public E push(E item);实现压栈操作
  • 3.public E pop();实现弹栈操作。
  • 4.public boolean empty();判断堆栈是否还有数据。
  • 5.public E peek();获取堆栈顶端的数据,但不删除该数据。
  • 6.public int search(Object data);获取数据在堆栈中的位置。

4.散列映射:

  • 常用方法
    1.public void clear() 清空散列映射。
    2.public Object clone() 返回当前散列映射的一个克隆。
    3.public boolean containsKey(Object key) 如果散列映射有“键/值”对使用了参数指定的键,方法返回true,否则返回false。
  • public boolean containsValue(Object value) 如果散列映射有“键/值”对的值是参数指定的值。
    5.public V get(Object key) 返回散列映射中使用key做键的“键/值”对中的值。
    6.public boolean isEmpty() 如果散列映射不含任何“键/值”对,方法返回true,否则返回false。
    7.public V remove(Object key) 删除散列映射中键为参数指定的“键/值”对,并返回键对应的值。
    8.public int size() 返回散列映射的大小,即散列映射中“键/值”对的数目。
  • 遍历散列映射
    public Collection values()方法返回一个实现Collection接口类创建的对象。使用接口回调技术,即将该对象的引用赋给Collection接口变量,该接口变量可以回调
    iterator()方法获取一个Iterator对象,这个Iterator对象存放着散列映 射中所有“键/值”对中的“值”。

5.树集:

  • TreeSet类的常用方法
    1.public boolean add(E o) 向树集添加加节点。
    2.public void clear() 删除树集中的所有节点。
    3.public void contains(Object o) 如果树集中有包含参数指定的对象,该方法返回true,否则返回false 。
    4.public E first() 返回树集中的第一个节点中的数据(最小的节点)。
    5.public E last() 返回最后一个节点中的数据(最大的节点)。
    6.public isEmpty() 判断是否是空树集,如果树集不含任何节点,该方法返回true 。
    7.public boolean remove(Object o) 删除树集中的存储参数指定的对象的最小节点。
    8.public int size() 返回树集中节点的数目。
  • 树映射
    TreeMap<K,V>类实现了Map<K,V>接口,称TreeMap<K,V>对象为树映射。
  • 自动装箱与拆箱

6.

1.使用Collection收集对象

  • 收集对象的行为,像是新增对象的add()方法、移除对象的remove()方法等,都是定义在java.util.Collection中。既然可以收集对象,也要能逐一取得对象,这就是java.lang.Iterable定义的行为,它定义了iterator()方法返回java.lang.Iterable操作对象,可以让你逐一取得收集的对象。
  • 收集对象的共同行为定义在Collection中,然而收集对象会有不同的需求。如果希望收集时记录每个对象的索引顺序,并可依索引取回对象,这样的行为定义在java.util.List接口中。如果希望收集的对象不重复,具有集合的行为,则由java.util.Set定义。如果希望收集对象时以队列方式,收集的对象加入至尾端,取得对象时从前端,则可以使用java.util.Queue。如果希望Queue的两端进行加入、移除等操作,则可以使用java.util.Deque。

二.实验截图:

三。学习体会:

这周的学习,感觉现在看视频对我的帮助很大,而且把视频和书相互结合起来效益更大。现在学的越来越深了,感觉自己基础不牢的缺点正在渐渐浮现,需要我现在付出更多的努力和精力来学习。

20175208 《Java程序设计》第八周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第八周学习总结

    1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...

  2. 20175208 《Java程序设计》第九周学习总结

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

  3. 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结

    <面向对象程序设计Java>第八周学习总结   项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...

  4. 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  5. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  6. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  7. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  8. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  9. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  10. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

随机推荐

  1. shell grep

    grep "str" file > /dev/null if [ $? -eq 1]; then echo "no str" else echo &quo ...

  2. java 实现加密算法(在网上看的,保存)

    import java.util.ArrayList;   import java.util.List;       /**   * DES加密/解密   *   * @Copyright Copyr ...

  3. [LeetCode] Minimum Distance Between BST Nodes 二叉搜索树中结点的最小距离

    Given a Binary Search Tree (BST) with the root node root, return the minimum difference between the ...

  4. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project triage: Compilation failure [ERROR] No compiler is provided in this environment.

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-c ...

  5. 记录C#中的扩展方法

    C#中的扩展方法. 系统自带的类型,我们无法去修改: 修改源代码需要较大的精力,而且可能会带来错误: 我们只是需要一个或者较少的几个方法,修改源代码费时费力: 被扩展的类是sealed的,不能被继承: ...

  6. facebook分享

    http://bbs.mob.com/forum.php?mod=viewthread&tid=19104&page=1&extra=#pid40942  应用审核 http: ...

  7. Python_tkinter(5)_GUI工具

    1.Excel行数统计工具 源代码 import xlrd import tkinter as tk import tkinter.filedialog # 计算一个工作簿中所有Sheet表的行数 d ...

  8. js导航栏单击事件背景颜色变换

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...

  9. Redis多机多节点集群实验

    第一步:环境准备 我们搞两台虚拟机 局域网IP 分别是 192.168.1.109和192.168.1.110 我们约定把192.168.1.109作为集群控制端,需要安装redis-trib.rb ...

  10. app启动过程

    调用main函数之前: App开始启动后,系统首先加载可执行文件(自身App的所有.o文件的集合),然后加载动态链接库dyld.交由 ImageLoader 读取 image,其中包含了我们的类.方法 ...