教材学习内容总结

第十五章 泛型与集合框架

泛型

  • 泛型:目的为建立具有类型安全的集合框架。
  • 泛型类声明:class People<E> class 名称<泛型列表>

链表

  • 定义:若干个结点的对象组成的一种数据结构。
  • LinkedList泛型类:创建链表对象。
  • 常用方法:

    1. public boolean add(E element),链表末尾添加结点。
    2. public void add(int index,E element),向链表指定位置添加一个结点。
    3. public void clean(),删除链表结点。
    4. public E get(int index),得到链表中指定位置的结点中的数据。
    5. public E set(int index,E element),将当前链表index位置的结点的数据替换为参数element指定的数据,并返回被替换的数据。
    6. public int size(),返回链表的长度,即结点 个数。
  • 遍历结点:链表对象可以使用Iterator()方法获取一个Iterator对象,该对象就是针对当前链表的迭代器。
Iterator<Integer> iter=list.iterator();         
  • 排序和查找:Colleations类提供的用于排序和查找的类方法如下:
    1. public static sort(List<E> list),该方法将list中的元素升序排列。
    2. int binarySearch(List<E> list,T key,CompareTo<T> c),使用折半法查找,成功返回索引位置,否则返回-1.
  • 洗牌与旋转:Collections类还提供了将链表中的数据重新随机排列的类方法以及旋转链表中数据的类方法。
    1. public static void shuffle(List<E> list),将list中的数据随机排列。
    2. static void rotate(List<E> list,int distance),旋转链表中的数据。
    3. 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程序设计》第八周学习总结的更多相关文章

  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. 如何查找redis使用的是哪个配置文件

    ps -ef|grep redis 得到了进程号 xxxx 然后 ls -l /proc/xxxx/cwd ps:可以推广到其他进程,只要有pid,就能找到配置文件

  2. 搭建openstack环境时出现的问题

    penstack环境搭建程度(安装完keystone) 然后运行 openstack domain create --description "An Example Domain" ...

  3. _trigger

    -- 触发器设置-- 使用说明:-- 1.脚本名为TriggerScript,使用时添加该生物即可-- 2.可以控制玩家进入附近时是上马.下马.或者提示信息.

  4. P2678 跳石头

    传送门 思路: 二分跳跃的最短距离 mid .暴力判断如果有两个石头直接的距离小于 mid ,就把这个石头拿走.如果拿走的石头数目 cnt ≤ m,说明二分的答案可行,ans = mid,接着二分更短 ...

  5. Hash索引和BTree索引区别【转】

    索引是帮助mysql获取数据的数据结构.最常见的索引是Btree索引和Hash索引. 不同的引擎对于索引有不同的支持:Innodb和MyISAM默认的索引是Btree索引:而Mermory默认的索引是 ...

  6. 修改Ubuntu锁屏快捷键

    修改为Win + L. 避免与Phpstorm中的代码格式化冲突.

  7. 2018-2019-2 网络对抗技术 20165303 Exp1 PC平台逆向破解(BOF实验)

    1.实践目的 本次实践的对象是一个名为pwn1的linux可执行文件. 三个实践内容如下: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 利用foo函数的Bof漏洞,构造一个 ...

  8. Python Django Web开发的5个优秀好习惯

    https://blog.csdn.net/weixin_42134789/article/details/82381854

  9. prometheus相关文章

    prometheus book https://yunlzheng.gitbook.io/prometheus-book/ 开发自己的分布式监控Prometheus Exporter时遇到的坑 htt ...

  10. Spring Http Invoke 请求过程图

    Spring Http Invoke 请求过程图: