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 ...
随机推荐
- java操作svn工具类SvnUtil
直接上代码,工作中使用的版本,记录下. public class SvnUtil { private static Logger logger = Logger.getLogger(SvnUtil.c ...
- 关于node_js的比较
node_js的比较是我自己初学遇到的第一个绕脑的事情. 在比较的函数多了之后,一些函数的调用和变量提升, 搞得自己头晕,有时候函数是没有返回值的,自己还在 用变量值去比较,实际上却是undefine ...
- Romaji (CodeForces - 1008A )
Vitya has just started learning Berlanese language. It is known that Berlanese uses the Latin alphab ...
- 终端的rz命令,覆盖原文件。
不覆盖:rz 覆盖 同名文件:rz -y
- .net core webapi 使用ValidationAttribute对比同一对象的多个参数
众所周知,在使用DataAnnotations数据验证的时候,特别是针对同一个InputDto的多个属性进行对比的时候,例如起始日期不能大于结束日期,我们需要在Attribute中知道当前InputD ...
- 1023. Have Fun with Numbers (20)
生词以及在文中意思 duplication 重复 permutation 排列 property 属性 import java.util.Scanner; public class Main { pu ...
- ASP.NET Core2.2 多用户验证和授权
asp.net core2.2 用户验证 和授权有很详细和特贴心的介绍,我感兴趣的主要是这两篇: cookie身份验证 基于角色的授权 我的项目有两类用户: 微信公众号用户,用户名为公众号的openi ...
- 最近学习了Sqlite3数据库,写一下操作应用以及命令
首先使用Flask-SQLAlchemy管理数据库 使用pip安装:pip install flask-sqlalchemy 接着要配置数据库,定义模型 关于数据库的操作就不再写了.... 使用Fla ...
- 使用MockMvc测试controller
之前我们测试controller的时候仅仅是作为一个pojo来进行简单的测试,spring3.2后我们可以按照控制器的方式来测试Spring MVC的controller了,这样的话在测试控制器的时候 ...
- 52 和 52Rc 通过IIC写入数据