本周学习《Java程序设计》第十五章:

    • 泛型:

      • 泛型(Generics)的主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构。
      • 泛型类声明:class 名称<泛型列表>
      • 泛型类声明对象:类名后多了一对<泛型列表>,必须要用具体的类型替换<>中的泛型
      • LinkedList<String> mylist=new LinkedList<String>();
    • 链表:
      • 链表是由若干个称作节点的对象组成的一种数据结构,每个节点含有一个数据和下一个节点的引用
      • LinkedList泛型类创建的对象以链表结构存储数据,习惯上称LinkedList类创建的对象为链表对象。
      • LinkedList<String> mylist=new LinkedList<String>();创建一个空双链表。
      • add(E obj)向链表依次增加节点。
      • LinkedList泛型类实现Lis泛型接口中的一些常用方法
        • public boolean add(E element)向链表末尾添加一个新的节点,该节点中的数据是参数elememt指定的数据。
        • public void add(int index ,E element)向链表的指定位置添加一个新的节点,该节点中的数据是参数elememt指定的数据。
        • public void clear()删除链表的所有节点,使当前链表成为空链表。
        • public E remove(int index)删除指定位置上的节点。
        • public boolean remove(E element)删除首次出现含有数据elemen的节点。
        • public E get(int index)得到链表中指定位置处节点中的数据。
      • LinkedList泛型类本身新增加的一些常用方法
        • public void addFirst(E element)向链表的头添加新节点,该节点中的数据是参数elememt指定的数据。
        • public void addLast(E element)向链表的末尾添加新节点,该节点中的数据是参数elememt指定的数据。
        • public E getFirst()得到链表中第一个节点中的数据。
        • public E getLast()得到链表中最后一个节点中的数据。
        • public E removeFirst()删除第一个节点,并返回这个节点中的数据。
      • 遍历链表
        • 当用户需要遍历集合中的对象时,应当使用该集合提供的迭代器,而不是让集合本身来遍历其中的对象
        • 链表对象可以使用iterator()方法获取一个Iterator对象,该对象就是针对当前链表的迭代器
        • 构造: Iterator <String> iter=list.iterator()
      • 排序与查找
        Collections类提供的用于排序和查找的类方法如下:

        • public static sort(List<E> list)该方法可以将list中的元素升序排列
        • int binarySearch(List<T> list, T key,CompareTo<T> c)使用折半法查找list是否含有和参数key相等的元素,如果key链表中某个元素相等,方法返回和key相等的元素在链表中的索引位置(链表的索引位置从0考试),否则返回-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泛型类创建一个堆栈对象,堆栈对象常用方法:
        • public E push(E item);实现压栈操作
        • public E pop();实现弹栈操作
        • public boolean empty();判断堆栈是否还有数据
        • public E peek();获取堆栈顶端的数据,但不删除该数据
        • public int search(Object data);获取数据在堆栈中的位置
    • 散列映射
      • HashMap<K,V>泛型类

        • HashMap<K,V>对象采用散列表这种数据结构存储数据,习惯上称HashMap<K,V>对象为散列映射
      • 常用方法:
        • public void clear()清空散列映射
        • public Object clone()返回当前散列映射的一个克隆
        • public boolean containsKey(Object key)如果散列映射有“键/值”对使用了参数指定的键,方法返回true,否则返回false
        • public boolean containsValue(Object value)如果散列映射有“键/值”对的值是参数指定的值
        • public V put(K key,V value)将键/值对数据存放到散列映射中,该方法同时返回键所对应的值
        • public V get(Object key)返回散列映射中使用key做键的“键/值”对中的值
        • public boolean isEmpty()如果散列映射不含任何“键/值”对,方法返回true,否则返回false
        • public V remove(Object key)删除散列映射中键为参数指定的“键/值”对,并返回键对应的值
        • public int size()返回散列映射的大小,即散列映射中“键/值”对的数目
    • 树集
      • TreeSet<E>泛型类

        • TreeSet<String> mytree=new TreeSe<String>(); TreeSet类创建的对象称作树集
        • mytree.add("boy");使用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()返回树集中节点的数目
    • 树映射
      • TreeMap<K,V>类实现了Map<K,V>接口,称TreeMap<K,V>对象为树映射。
      • 树映射使用public V put(K key,V value);方法添加节点。

20175324 2018-2019-2 《Java程序设计》第8周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. 2018-2019-2 20175235 实验二《Java面向对象程序设计》实验报告

    实验内容: 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 一.单元测试 1伪代码 百 ...

  2. SQL Server 数据库备份和还原

    一.SQL命令 备份BACKUP DATABASE TestDb TO DISK='d:\TestDb.bak'还原RESTORE DATABASE TestDb FROM DISK='d:\Test ...

  3. UGUI打字机效果文本组件

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; ...

  4. 高可用Redis(十二):Redis Cluster

    Redis Cluster是Redis官方提供的Redis集群功能 1.为什么要实现Redis Cluster 1.主从复制不能实现高可用 2.随着公司发展,用户数量增多,并发越来越多,业务需要更高的 ...

  5. 初识C语言 (四)

    分支结构 if语句 C语言中的分支结构语句中的if条件语句,简单if语句的基本结构如下: 其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句. 其过程可表示为下图 实例: if(resu ...

  6. gardner 算法matlab实现

    % 仿真4比特原始数据与星座图的编码映射过程: % 完成16QAM信号的调制解调: % 基带信号符号速率 ps =1Mbps: % 成形滤波器的滚降因子 a=0.8: % 载波信号频率fc=2MHz ...

  7. 有关js获取屏幕宽度问题

    offsetWidth是指包括滚动条的部分,而document.documentElement.clientWidth是去除滚动条的部分,所以这两个值是不一样的.

  8. vue使用过滤器利用moment实现日期的格式化

    import moment  from 'moment' 定义局部 filters:{ dateString:function(value,format){ console.log(value,for ...

  9. 【转载】OpenSSL 提取 pfx 数字证书公钥与私钥

    转自https://www.cnblogs.com/Irving/p/9551110.html OpenSSL 提取 pfx 数字证书公钥与私钥   由于之前生产环境已经使用了 Identityser ...

  10. Ubuntu 下使用 Nginx 部署 .NET Core 2.0 网站

    前言 本文介绍如何在 Ubuntu 16.04 服务器上安装 .NET Core 2.0 SDK.创建项目与发布,并使用 Nginx 部署 .NET Core 2.0 Web 项目. 安装 .NET ...