20175224 2018-2019-2 《Java程序设计》第八周学习总结
教材学习内容总结
第十五章 泛型与集合框架
泛型
- 泛型:目的为建立具有类型安全的集合框架。
- 泛型类声明:
class People<E> class 名称<泛型列表>
链表
- 定义:若干个结点的对象组成的一种数据结构。
- LinkedList泛型类:创建链表对象。
常用方法:
public boolean add(E element),链表末尾添加结点。public void add(int index,E element),向链表指定位置添加一个结点。public void clean(),删除链表结点。public E get(int index),得到链表中指定位置的结点中的数据。public E set(int index,E element),将当前链表index位置的结点的数据替换为参数element指定的数据,并返回被替换的数据。public int size(),返回链表的长度,即结点 个数。
- 遍历结点:链表对象可以使用Iterator()方法获取一个Iterator对象,该对象就是针对当前链表的迭代器。
Iterator<Integer> iter=list.iterator();
- 排序和查找:Colleations类提供的用于排序和查找的类方法如下:
public static sort(List<E> list),该方法将list中的元素升序排列。int binarySearch(List<E> list,T key,CompareTo<T> c),使用折半法查找,成功返回索引位置,否则返回-1.
- 洗牌与旋转: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中的数据。
堆栈
- 声明堆栈:
Stack<E> stack=new Stack<E>(); - 压栈操作:
public E push(E item); - 弹栈操作:
public E pop(); - 获取堆栈顶的数据:
public int search(Object data);
散列映射
HashMap<K,V>泛型类创建的对象称作散列映射。如:HashMap<String,Student> hashtable=HashSet<String,Student>();。- 常用方法详见课本。
树集
TreeSet<E>类创建的对象称作树集,采用树结构存储数据。并使用add方法添加结点- 结点的大小关系,与添加顺序无关,是按照字典序排序的。
- 常用方法详见书本。
树映射
TreeMap<K,V>对象为树映射。树映射使用public V put(K key,V value)方法添加结点,不仅存储数据value,还存储和其关联的关键字 key。
自动装箱与拆箱
- 程序允许把一个基本数据类型添加到类似链表等数据结构中,系统会自动完成基本类型到相应对象的转换(自动装箱)。当从一个数据结构中获取对象时,如果该对象时基本数据的封装对象,那么系统自动完成对象到基本类型的转换(自动拆箱)。
代码托管

学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 31/31 | 1/1 | 8/8 | |
| 第二周 | 250/281 | 1/2 | 8/16 | |
| 第三周 | 586/867 | 1/3 | 15/31 | |
| 第四周 | 450/1317 | 1/4 | 9/40 | |
| 第五周 | 251/1568 | 2/6 | 5/45 | |
| 第六周 | 972/2540 | 1/7 | 10/55 | |
| 第七周 | 467/3007 | 1/8 | 10/65 | |
| 第八周 | 459/3466 | 2/10 | 8/73 |
20175224 2018-2019-2 《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 ...
- 学号 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
随机推荐
- release环境下,当前不会命中断点,还没有为该文档加载任何符号
今天在release编译环境下出现了如标题所说的问题“ 当前不会命中断点,还没有为该文档加载任何符号”,在网上找了几个方法都没有解决我的问题,咨询了一下师傅,解决了,很简单,方法如下:右键--属性-- ...
- Kotlin 泛型
泛型,即 "参数化类型",将类型参数化,可以用在类,接口,方法上. 与 Java 一样,Kotlin 也提供泛型,为类型安全提供保证,消除类型强转的烦恼. 声明一个泛型类: cla ...
- [Linux]防火墙关闭与开启
防火墙关闭与开启 系统环境:ubuntu16.04 工具:xshell 测试远程主机的端口是否开启 telnet 192.168.xx.xx 80 防火墙关闭/开启/重启 # 防火墙关闭 sudo u ...
- English trip EM1 - PE2 My My name is... Teacher:Lamb Key: introduce myself
课上内容(Lesson) Lamb let us does introduce myself. Make a "hangman" game at warm-up . How to ...
- Exception in thread "main" SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: ElasticsearchParseException[malformed, expected end of settings but encountered additional conte
D:\elasticsearch\elasticsearch-2.4.0\bin>elasticsearchException in thread "main" Settin ...
- 使用 Laragon 在 Windows 中快速搭建 Laravel 本地开发环境 (转)
laravel学院 简介 对于那些使用 Windows 操作系统的同学来说,Homestead 和 LaraDock 虽说支持 Windows 系统,但是对初学者来说,安装配置起来还是有一定复杂度的, ...
- 新版seqseq接口说明
attention_mechanism = tf.contrib.seq2seq.BahdanauAttention(num_units=FLAGS.rnn_hidden_size, memory = ...
- jquery实现下拉加载更多
下拉加载更多这种原理很容易想明白,但是不自己写一个简单的,老是不踏实,获取什么高度再哪里获取之类的.于是自己简单写了个,就是页面上有几个div,然后当滚动条拉到某个位置的时候,再继续加载div.顺便又 ...
- PhotoShop常用的功能汇总
1.将图层变为"智能对象"后如何调整大小? 答: ctrl + T 2.如何对文字添加投影? 答: 点击文字图层,“图层”->"图层样式"->&qu ...
- Java加密算法
密码的常用术语: 1.密码体制:由明文空间.密文空间.密钥空间.加密算法和解密算法5部分组成. 2.密码协议:也称为安全协议,是指以密码学为基础的消息交换的通信协议,目的是在网络环境中提供安全的服务. ...