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. js以键值对的方式获取URL的参数

    在前端日常的开发中,大多数时候我们只需用js获取到url中的参数即可,这个实现起来也很方便如: function getQueryString(value) { const reg = new Reg ...

  2. Visual Studio 2012编译的程序无法在XP下运行的解决办法【转】

    最近看到一篇<Windows编程革命简史>,想到以前刚开始用VS2012的时候,编译的程序在其他人那无法运行,一查才知道是VS2012本身不支持XP.当然现在微软早已在VS2012 Upd ...

  3. 2019.4.1 JMeter中文乱码解决方案

    1)添加一个HTTP信息头管理器:添加Accept:application/xml;application/json;charset=utf-8 2)参数为中文:在HTTP请求时设置编码格式为utf- ...

  4. 使用Dubbo的SPI扩展机制实现自定义LoadBalance——方法二 不改源码添加META-INF/dubbo元数据

    一.官网提供的方法 参考官网 http://dubbo.apache.org/zh-cn/docs/dev/impls/load-balance.html 二.方法总结 在工程中创建类并实现LoadB ...

  5. F#周报2019年第13期

    新闻 Visual Studio 2019发布会 Json2FSharp--在线类型生成器 cs2fs-online--从C#到F#的移植器 AWS Lambda layer上的.NET Core A ...

  6. python中关于汉诺塔问题和使用turtle库实现其搬运过程

    一.汉诺塔问题 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按 ...

  7. ELK日志系统介绍

    ELK介绍 需求背景: 业务发展越来越庞大,服务器越来越多 各种访问日志.应用日志.错误日志量越来越多,导致运维人员无法很好的去管理日志 开发人员排查问题,需要到服务器上查日志,不方便 运营人员需要一 ...

  8. iTerm2 与 Oh My Zsh的配套使用

    详见: https://www.jianshu.com/p/7de00c73a2bb https://github.com/sirius1024/iterm2-with-oh-my-zsh https ...

  9. spring-boot mybatis配置

    接着我们的spring boot项目,spring boot如何使用mybatis访问数据库呢? 个人习惯使用mapper接口和xml配置sql,从pom.xml入手 1.1 添加依赖 <dep ...

  10. 给opencart产品页添加额外信息

    有时我们在开发opencart时需要给产品页添加一些额外的信息,第一种聪明的方法可以修改并调用已有字段,详细可以参考opencart3产品页调用upc/数量等信息:如果您的开发能力不错的话可以用第二种 ...