20175234 2018-2019-2 《Java程序设计》第八周学习总结
20175234 2018-2019-2 《Java程序设计》第八周学习总结
教材学习内容总结
15.1泛型
- 泛型类声明
Class 名称<泛型列表>
,泛型列表给出的泛型可以作为类的成员变量的类型、方法的类型以及局部变量的类型。 - 使用泛型类声明变量,与普通类相比,多了一对“<>”。Java泛型的主要目的:可以建立具有类型安全的数据结构,如列表散列表等。在使用这些泛类建立的数据结构时,不需要强制类型转换,不要求进行运行时类型检查。
15.2链表
- LinkedList泛型类创建的对象以链表结构存储数据,需要指明E的具体类型,如
LinkedList<String>mylist=new LinkedList<String>();
创建了一个对象必须是String类的双向链表。 - 用add添加结点,例如
mylist.add(“How”);
mylist.add(“Are”);
…
- 常用方法
遍历链表:可以用LinkedList类中的get(int index)返回当前链表第index个结点中的对象,也可以使用迭代器遍历集合(找到集合中一个对象的同时,耶得到遍历的后继对象的引用)。由下图可知,迭代器遍历链表,更加快速。
排序与查找:Collections类提供了用于排序和查找的类方法如下:
public static sort(List<E> list)
按升序列,int binarySearch (List<T>list,T key,CompareTo<t> c)
折半查找,存在返回引索位置(引索位置从0开始),不存在返回-1。洗牌与旋转
* public static void shuffle(List list)按洗牌算法重新随机排列
* static void rotate(List list ,int distance),旋转链表中数据,distance取正值,向右旋转list中数据(第一个值移到第二位,最后一位移到第一位),取负值向左旋转list中数据。
* public static void reverse(List list),翻转list中数据。
15.3堆栈
- 创建堆栈对象java.util包
Stack<E>
- 压栈操作
public E push(E item )
- 弹栈操作
public E pop();
- 判断是否有数据
public boolean empty();
有数据返回false,无返回true。 - 获取堆栈顶端数据,但不删除数据
public E peek();
- 获取数据在堆栈中的位置,最顶端为1,向下依次累加,无则返回-1
public int search(Object data);
15.4散列映射
- 用HashMap<K,V>泛型类创建的对象称作散列映射。
- 常用方法(p452)
* public void clear()
* public Object clone()
* public Boolean containsKey(Object key)
* public Boolean containsValue(Object value)
…… - 遍历散列映射
- 基于散列映射的查询
15.5树集
- TreeSet创建树集。
- 树集用add方法添加节点,节点会按其存放的数据的“大小”顺序一层一层地依次排列,在同一层中的节点从左到右按“大小”顺序递增排列,下一层的都比上一层的小。
- TreeSet类的常用方法
- public boolean add(E o) 向树集添加加节点。
- public void clear() 删除树集中的所有节点。
- public void contains(Object o) 如果树集中有包含参数指定的对象,该方法返回true,否则返回false 。
- public E first() 返回树集中的第一个节点中的数据(最小的节点)。
- public E last() 返回最后一个节点中的数据(最大的节点)。
- public isEmpty() 判断是否是空树集,如果树集不含任何节点,该方法返回true 。
- public boolean remove(Object o) 删除树集中的存储参数指定的对象的最小节点。
- public int size() 返回树集中节点的数目。
15.6树映射
- TreeMap<K,V>类实现了Map<K,V>接口,称TreeMap<K,V>对象为树映射。
- public V put(K key,V value); 添加节点。
15.7自动装箱与拆箱
- JDK1.5新增的基本类型数据和相应的对象之间相互自动转换的功能,称作基本数据类型的自动装箱与拆箱(Autoboxing and Auto-Unboxing of Primitive Types)。
教材学习中的问题和解决过程
问题1:
问题1在cmd中尝试运行
问题2:从上图可见,出现编码JBK的不可映射字符问题
问题2解决方案:编码JBK的不可映射字符
使用-encoding参数指明编码方式:javac -encoding UTF-8 XX.java另一种思路
代码托管
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 51/51 | 1/1 | 12/20 | Java的重要起步 |
第二周 | 460/511 | 2/3 | 30/32 | Java的简单语句学习 |
第三周 | 803/1314 | 2/5 | 25/57 | Java的基础学习 |
第四周 | 485/1699 | 1/6 | 20/77 | Java的子类与继承 |
第五周 | 393/2092 | 1/7 | 20/97 | Java的接口与实现 |
第六周 | 156/2321 | 2/9 | 18/115 | 内部类和异常类、输入输出流 |
第七周 | 1225/3546 | 2/11 | 20/135 | 常用类及方法 |
第八周 | 487/4032 | 2/13 | 20/155 | 泛型与集合框架 |
参考资料
20175234 2018-2019-2 《Java程序设计》第八周学习总结的更多相关文章
- 201521123027 <java程序设计>第八周学习总结
1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...
- 20175234 2018-2019-2 《Java程序设计》第九周学习总结
目录 20175234 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 教材学习中的问题和解决过程 代码托管 感想 学习进度条 参考资料 20175234 2 ...
- 201571030332 扎西平措 《面向对象程序设计Java》第八周学习总结
<面向对象程序设计Java>第八周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https: ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第八周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
随机推荐
- VB.net中合并word中的表格
软帝国产品的互兼容性使得我们采用vb.net编程语言操作Microsoft Word文档变得相当容易.针对本文的主题,网络上已经有很多大牛博客做了详细的介绍,基本的我就不再赘述,只是自己在做项目的时候 ...
- 浅谈角色换装功能--Unity简单例子实现
在前置篇中,基本上梳理了一下换装功能背后涉及到的美术工作流.但程序员嘛,功能终归是要落到代码上的.本文中会结合Unity提供的API及之前提到的内容来实现一个简单的换装功能.效果如下: (图1:最终效 ...
- (转)SQLServer分区表操作
原文地址:https://www.cnblogs.com/libingql/p/4087598.html 1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一 ...
- 团队第十次 # scrum meeting
github 本此会议项目由PM召开,召开时间为4-15日晚上9点,以大家在群里讨论为主 召开时长10分钟 任务表格 袁勤 负责整理实验报告前后端交互,即xml文件传值部分 负责整理实验报告前后端交互 ...
- RobotFramework - AppiumLibrary 之关键字Open Application使用
- (5/24) 模块化:实现快速CSS文件打包
写在前面:为了兼容,此处的webpack版本为3.6.0.webpack-dev-server版本为2.9.7.css-loader版本为2.0.0.style-loader版本为0.23.1,若在下 ...
- LeetCode 141. Linked List Cycle 判断链表是否有环 C++/Java
Given a linked list, determine if it has a cycle in it. To represent a cycle in the given linked lis ...
- shell脚本修改文本中匹配行之前的行的方法
原创文件,欢迎阅读,禁止转载. 例子中是把 finish 前一行的 "yes" 改成 "YES"有一个方法就是利用sed+awk一起来完成. zjk@zjk:~ ...
- 关于Ajax异步请求(实时刷新)
1.需求:想要做成动态实时刷新获取数据库的值 2.例子 3.代码逻辑: <script type="text/javascript"> var Seconds=1000 ...
- 关于Qrc文件的用法
在python文件xxx.py中调用资源文件,一般来说,需要将资源放在xxx.py的相同目录下:然而,当在xxx.py下建立一个统一目录/rec则需要建立xxx.qrc文件才能让xxx.py调用,调用 ...