教材学习内容总结

第十五章 泛型与集合框架

泛型

  • 泛型:目的为建立具有类型安全的集合框架。
  • 泛型类声明: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. poj1151 Atlantis (线段树+扫描线+离散化)

    有点难,扫描线易懂,离散化然后线段树处理有点不太好理解. 因为这里是一个区间,所有在线段树中更新时,必须是一个长度大于1的区间才是有效的,比如[l,l]这是一根线段,而不是区间了. AC代码 #inc ...

  2. 封装json输出

    /** * 输出json * @param $msg * @param int $errno */ protected function printOutError($msg,$errno = 100 ...

  3. JDBC中execute、executeQuery和executeUpdate的区别

    Statement 接口提供了三种执行 SQL 语句的方法:executeQuery.executeUpdate 和 execute.使用哪一个方法由 SQL 语句所产生的内容决定. 1>方法e ...

  4. C#中添加对象到ArrayList的代码

    把开发过程中比较好的一些代码段做个备份,下面代码是关于C#中添加对象到ArrayList的代码. ArrayList alcollect = new ArrayList();string str = ...

  5. 转发 ----> 2018年阿里巴巴重要开源项目汇总(持续更新中)

    转发自segmentfault  https://segmentfault.com/a/1190000017346799 前端 1.数据驱动的高交互可视化图形语法 AntV - G2 G2 是一套基于 ...

  6. 使用Microsoft SyncToy 文件同步/备份 自动化处理

    SyncToy 是由 微软 推出的一款免费的文件夹同步工具.百度搜索Microsoft SyncToy,官网可以直接下载 安装完成后 操作也非常简单,主要有三种模式 synchronize :在这个模 ...

  7. javascript高级程序设计第3版——第7章 函数表达式

    此张内容的难点在于闭包.而闭包又涉及到原型,原型链,执行上下环境,this的取值等知识点.(此章节对于闭包的内容篇幅较少,且写的很是艰涩难懂,推荐一位大牛的博客,对于闭包的前因后果以及作用机制写的很明 ...

  8. linux 7.2安装扩展redis

    unzip phpredis-php7.zip cd phpredis-php7 /usr/local/php7./bin/phpize ./configure --with-php-config=/ ...

  9. pycharm与python环境配置

    一.安装python开发环境 在win7的64位系统上安装,然后用cmd命令提示行输入python,出错,网上给出了解决方案,也操作成功了,但是比较麻烦,没关系,安装Anaconda3即可(默认安装即 ...

  10. 我的第一个Angular2应用

    1需要具备的基本前端基础:HTML.CSS.JavaScript.为了实现对项目包的管理,推荐使用npm NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题:官网先下 ...