教材学习内容总结

第十五章 泛型与集合框架

泛型

  • 泛型:目的为建立具有类型安全的集合框架。
  • 泛型类声明: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. linux指令(1)

    1) date: 日期与秒的转换 (seconds since 1970-01-01 00:00:00 UTC) [root@laas:~]# date --date=2019-12-31 +%s15 ...

  2. oracle 12 c 创建表空间,用户名,及表

      -----------------------------------------12C start------------------------------------------- -- 创 ...

  3. Caffe on Mac OS X 10.11

    在Mac环境安装Caffe环境(CPU_ONLY) http://blog.csdn.net/xidiancoder/article/details/52081519   有问题 http://blo ...

  4. git add * 提示warning: LF will be replaced by CRLF in 解决办法

    在使用git的时候,每次执行 $ git add * 都会提示这样一个警告消息: 虽然说没有什么影响吧. 不过就是觉得太碍眼了, 按照这样设置就没有问题了: git config core.autoc ...

  5. robot_framework环境搭建

    1.python安装(必须是python2) 下载地址:https://www.python.org/ 2.setuptools安装 下载地址:https://pypi.python.org/pypi ...

  6. Django_简介

    Django简介 Django,发音为[`dʒæŋɡəʊ],Django诞生于2003年秋天,2005年发布正式版本,由Simon和Andrian开发. Django上使用哪个Python版本? Dj ...

  7. Git常用命令及使用,GitLab/GitHub初探,Git/Svn区别

    Git安装配置及常用命令 0 Git本地分支管理 1 Git远程分支管理 2 Git Tag标签管理 3 Git Log日志 4 其它高级命令 5 常规使用及介绍 6 角色权限 7 分支定义 8 一般 ...

  8. 与WCAG相关的一些学习心得

    1.什么是 WCAG? WCAG全称Web Content Accessibility Guidelines 网页内容无障碍浏览准则,简单的说就是为了方便残障人士(包括低视患者,盲人,聋人,学习障碍, ...

  9. AJAX的简单解释

    什么是AJAX AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以 ...

  10. JSP动作标签flush属性值

    在JSP动作标签<jsp:include flush="true"/>,flush属性可以为true或false.flush默认值为false,当把flush属性赋值为 ...