20175120彭宇辰 《Java程序设计》第八周学习总结
教材学习内容总结
第十五章 泛型与集合框架
一、泛型
泛型的主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构。
1.泛型类声明
class People<E>
People是泛型类的名称,E是其中泛型。
2.使用泛型类声明对象
Cone<Circle> coneOne;
coneOne =new Cone<Circle>(new Circle());
二、链表
链表是由若干个称作节点的对象组成的一种数据结构,每个节点含有一个数据和下一个节点的引用 。
1.LinkerList<E>泛型类
LinkerList<String>mylist=new LinkedList<String>();
创建了一个空双链表。
2.常用方法
public boolean add(E element)
向链表末尾添加一个新的节点,该节点中的数据是参数elememt指定的数据。
public void add(int index ,E element)
向链表的指定位置添加一个新的节点,该节点中的数据是参数elememt指定的数据。
public void clear()
删除链表的所有节点,使当前链表成为空链表
public E get(int index)
得到链表中指定位置处节点中的数据。
3.遍历链表
-用迭代器快速遍历
-链表对象使用iterator()方法获取一个对象,即迭代器。
Iterator it=list.iterator();
Student st=it.next();
调用next()获取第一个结点。
4.排序与查找
-Collections类提供的用于排序和查找的类方法如下:
public static sort(List<E> list)
该方法可以将list中的元素升序排列。
int binarySearch(List<T> list, T key,CompareTo<T> c)
使用折半法查找list是否含有和参数key相等的元素,如果key链表中某个元素相等,方法返回和key相等的元素在链表中的索引位置(链表的索引位置从0考试),否则返回-1。
5.洗牌与旋转
-重新随机排列与移位
-Collections类提供
public static void shuffle(List<E> list)
将list中的数据按洗牌算法重新随机排列。
static void rotate(List<E> list, int distance)
旋转链表中的数据。
public static void reverse(List<E> list)
翻转list中的数据
三、堆栈
-堆栈是一种“后进先出”的数据结构,只能在一端进行输入或输出数据的操作。
-使用java.lang包中的Stack泛型类创建一个堆栈对象,堆栈对象常用方法:
public E push(E item):
实现压栈操作 public E pop():
实现弹栈操作。 public boolean empty():
判断堆栈是否还有数据。 public E peek():
获取堆栈顶端的数据,但不删除该数据。 public int search(Object data):
获取数据在堆栈中的位置
四、散列映射
1.HashMap<K,V>泛型类
HashMap<String,Student>hashtable=HashSet<String,Student>();
用HashMap<K,V>创建对象
2.遍历散列映射
public Collection<V> values()
返回一个实现Collection接口类创建的对象。
五、树集
-TreeSet<E>类创建的对象称作树集
-树结点中的数据会按存放的数据的大小顺序排列
-同一层结点从左到右由小变大
TreeSTreet<String>mytree=new TreeSet<String>();
六、树映射
-TreeMap<K,V>类实现了Map<K,V>接口,称TreeMap<K,V>对象为树映射。
树映射使用public V put(K key,V value);方法添加节点。
代码托管:https://gitee.com/pyc-1751/chapter_1_of_java.git
代码量截图

20175120彭宇辰 《Java程序设计》第八周学习总结的更多相关文章
- 201521123027 <java程序设计>第八周学习总结
1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...
- 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结
<面向对象程序设计Java>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 20175317 《Java程序设计》第九周学习总结
20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...
随机推荐
- git(二) 分支管理
概念 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇 ...
- fpread for asp.net 应用技术点滴
单元格的相对性应用 //收支计算平衡 RC[-1]当前行的前一列;R[1]C下一行的同一列 R[-2]C[2]当前行的前2行,当前列的后2列 this.FpSpread1.Sheets[0].Ref ...
- JavaScript 进制转换
//十进制转其他 var x=111; alert(x.toString(8)); alert(x.toString(16)); //其他转十进制 var x='112'; alert(parseIn ...
- 数据库SQL优化大总结1之- 百万级数据库优化方案
转载自:https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/72875054
- Saiku数据库迁移H2迁移到Mysql(二十二)
Saiku数据库迁移H2迁移到Mysql Saiku默认使用H2数据库来存储saiku的用户与角色信息,我们可以根据角色来做saiku的权限控制,然后将角色分配给用户 ,该用户就会有对应的约束了! 由 ...
- 复杂xml格式报文和实体类之间的转化
pom.xml中引入如下依赖: <dependency> <groupId>org.eclipse.persistence</groupId> <artifa ...
- javaScript之数组操作方法(一)
本篇文章主要总结了几个简单的数组操作方法.数组就是一组数据的集合,接下来我们就了解一下几种数组的操作方法. 1. join方法:把数组的所有元素放入一个字符串.举例如下: var arrJoin=[& ...
- CEPH集群操作入门--配置
参考文档:CEPH官网集群操作文档 概述 Ceph存储集群是所有Ceph部署的基础. 基于RADOS,Ceph存储集群由两种类型的守护进程组成:Ceph OSD守护进程(OSD)将数据作为对象 ...
- R语言预测实战(游浩麟)笔记1
预测流程 确定主题.指标.主体.精度.周期.用户.成本和数据七要素. 收集数据.内容划分.收集原则. 选择方法.主要方法有自相关分析.偏相关分析.频谱分析.趋势分析.聚类分析.关联分析.相关分析.互相 ...
- 用 LSTM 做时间序列预测的一个小例子(转自简书)
问题:航班乘客预测 数据:1949 到 1960 一共 12 年,每年 12 个月的数据,一共 144 个数据,单位是 1000 下载地址 目标:预测国际航班未来 1 个月的乘客数 import nu ...