# **教材学习内容总结
### 本周学习《Java程序设计》第十五章:**
* 泛型:
泛型(Generics)的主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构。
泛型类声明:`class 名称<泛型列表>`
泛型类声明对象:类名后多了一对<泛型列表>,必须要用具体的类型替换<>中的泛型
 `LinkedList<String> mylist=new LinkedList<String>();`
 泛型类中的泛型变量`bottom`只能调用`Object`类中的方法
 在使用这些泛型类建立数据结构时,不必进行强制类型转换,即不要求进行运行时的类型检查
*  链表:
`LinkedList`泛型类创建的对象以链表结构存储数据。
`add(E obj)`向链表依次增加节点。
`LinkedList`泛型类实现Lis泛型接口中的一些常用方法
`public boolean add(E element)`向链表末尾添加一个新的节点。
`public void add(int index ,E element)`向链表的指定位置添加一个新的节点。
`public void clear()`删除链表的所有节点,使当前链表成为空链表。
`public E remove(int index)`删除指定位置上的节点。
`public boolean remove(E element)`删除首次出现含有数据elemen的节点。
`public E get(int index)`得到链表中指定位置处节点中的数据。
`LinkedList`泛型类本身新增加的一些常用方法
`public void addFirst(E element)`向链表的头添加新节点。
`public void addLast(E element)`向链表的末尾添加新节点。
`public E getFirst()`得到链表中第一个节点中的数据。
`public E getLast()`得到链表中最后一个节点中的数据。
`public E removeFirst()`删除第一个节点,并返回这个节点中的数据。
* 堆栈
堆栈是一种“后进先出”的数据结构,只能在一端进行输入或输出数据的操作。
先进后出`(First In Last Out)`
后进先出`(Last In First Out)`
使用`Stack`泛型类创建一个堆栈对象
使用`push、pop、empty、peek、search`等方法对栈进行操作或查看栈的状态
`public E push(E item);`实现压栈操作
`public E pop();`实现弹栈操作
`public boolean empty();`判断堆栈是否还有数据
`public E peek();`获取堆栈顶端的数据,但不删除该数据
`public int search(Object data);`获取数据在堆栈中的位置
* 散列映射
常用方法:
`public void clear()`清空散列映射
`public Object clone()`返回当前散列映射的一个克隆
`public V get(Object key)`返回散列映射中使用key做键的键/值对中的值
`public V put(K key,V value)`将键/值对数据存放到散列映射中,该方法同时返回键所对应的值
`public boolean isEmpty()`如果散列映射不含任何“键/值”对,方法返回true,否则返回false
`public V remove(Object key)`删除散列映射中键为参数指定的“键/值”对,并返回键对应的值
`public int size()`返回散列映射的大小,即散列映射中“键/值”对的数目
* 树集
`TreeSet`类创建的对象称作树集
在树集中,同一层中的结点从左到右按:大小顺序递增,从上到下递增
即下一层的都比上一层的小。
在插入树集的结点前要在创建对象的类中实现Comparable接口
树映射是一种特殊的树,树映射的结点存储关键字/值对
常用方法
`public boolean add(E o)`向树集添加加节点
`public void clear()`删除树集中的所有节点
`public void contains(Object o)`如果树集中有包含参数指定的对象。
`public E first()`返回树集中的第一个节点中的数据(最小的节点)
`public E last()`返回最后一个节点中的数据(最大的节点)
`public isEmpty()`判断是否是空树集,如果树集不含任何节点,该方法返回true
`public boolean remove(Object o)`删除树集中的存储参数指定的对象的最小节点
`public int size()`返回树集中节点的数目
### 教材学习中的问题和解决过程
### 代码托管
https://gitee.com/shadowsombra/java-basti-is-tip

### 感悟
在学习15章的过程中由于中间跳过了许多的学习。所以在15章许多东西都不是很明白。但在经过努力的学习之后总算学会了。

20175330 2018-2019-2 《Java程序设计》第八周学习总结的更多相关文章

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

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

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

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

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

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

  4. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  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. 学习之路-前端-笔记-一、HTML笔记

    各种技巧 1.在Webstrom中 同时按ctrl+alt+insert创建新内容 2.输入标签按tab自动补全 按end 或 HOME实现光标移动到当前行的最后或最前 3.按住alt键不放同时按鼠标 ...

  2. 一年过去了,25万月薪的AI工程师还存在吗?

    导读:2017 年的时候,AI 前线进行了一场有关人工智能领域薪资差异的专题策划,这篇名为<25 万年薪的你与 25 万月薪的他,猎头来谈你们之间的差别>的文章引起了读者们的热烈讨论.一年 ...

  3. Python入门基础之迭代和列表生成式

    什么是迭代 在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration). 在Python中,迭代是通过 for ...

  4. 运行 python *.py 文件出错,如:python a.py

    运行 python *.py 文件出错,如:python a.py(下图) 原因:没有安装web.py 解决:下载并安装 网址:http://webpy.org/install#install  (h ...

  5. Android 进度条按钮实现(ProgressButton)

    有些App在点击下载按钮的时候,可以在按钮上显示进度,我们可以通过继承原生Button,重写onDraw来实现带进度条的按钮. Github:https://github.com/imcloudflo ...

  6. CSS回顾(基础知识,元素,选择器,盒子,颜色)

    元素分类: 1.行级元素:内联元素  inline 特征:内容决定元素所占位置,不可以通过CSS改变宽高 span  strong   em  a  del 2.块级元素:block特征:独占一行,可 ...

  7. macOS下MySQL 8.0 安装与配置教程

    一.前言 1.本教程主要内容 适用Homebrew安装MySQL MySQL 8.0 基础适用于配置 MySQL shell管理常用语法示例(用户.权限等) MySQL字符编码配置 MySQL远程访问 ...

  8. MapReduce ----倒排索引

    分别建立三个文件: file1txt file2.txt file3.txt 文件内容分别是: MapReduce is simple 和 MapReduce is powerful is simpl ...

  9. mssql sqlserver 获取指定日期为本月第几个工作日

    转自:http://www.maomao365.com/?p=6771 摘要: 下文讲述工作中,需要获取指定日期在当月的工作日 下文讲述常规的指定工作日所在月的天数分析,实现思路:1 生成一个国家法定 ...

  10. c/c++ 二叉排序树

    c/c++ 二叉排序树 概念: 左树的所有节点的值(包括子节点)必须小于中心节点,右树所有节点的值(包括子节点)必须大于中心节点. 不允许有值相同的节点. 二叉排序树的特点: 中序遍历后,就是从小到大 ...