20175305张天钰《java程序设计》第八周学习总结
《java程序设计》第八周学习总结
第十五章 泛型与集合框架
一.知识点学习
1.String类
1.String类不可以有子类。
2.用户无法输出String对象的引用,输出的是字符序列
3.构造方法:String s = new String("We are students");
4.其他构造方法:String (char a[ ]) 和 String(char a[],int startIndex,int count)
1.泛型:
泛型(Generics)的主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构。
泛型类声明:class 名称
*泛型类声明对象:类名后多了一对,必须要用具体的类型替换<>中的泛LinkedList
mylist=new LinkedList();
- 泛型类中的泛型变量bottom只能调用Object类中的方法
*在使用这些泛型类建立数据结构时,不必进行强制类型转换,即不要求进行运行时的类型检查
2.链表:
*LinkedList泛型类创建的对象以链表结构存储数据。
add(E obj)向链表依次增加节点。
LinkedList泛型类实现Lis泛型接口中的一些常用方法
public boolean add(E element)向链表末尾添加一个新的节点。
public void add(int index ,E element)向链表的指定位置添加一个新的节点。
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)向链表的头添加新节点。
public void addLast(E element)向链表的末尾添加新节点。
public E getFirst()得到链表中第一个节点中的数据。
public E getLast()得到链表中最后一个节点中的数据。
public E removeFirst()删除第一个节点,并返回这个节点中的数据。
3.堆栈
*堆栈是一种“后进先出”的数据结构,只能在一端进行输入或输出数据的操作。
先进后出(First In Last Out)
后进先出(Last In First Out)
使用Stack泛型类创建一个堆栈对象
使用push、pop、empty、peek、search等方法对栈进行操作或查看栈的状态
public E push(E item);实现压栈操作
public E pop();实现弹栈操作
public boolean empty();判断堆栈是否还有数据
public E peek();获取堆栈顶端的数据,但不删除该数据
public int search(Object data);获取数据在堆栈中的位置
4.散列映射
*常用方法:
public void clear()清空散列映射
public Object clone()返回当前散列映射的一个克隆
public V get(Object key)返回散列映射中使用key做键的键/值对中的值
public V put(K key,V value)将键/值对数据存放到散列映射中,该方法同时返回键所对应的值
public boolean isEmpty()如果散列映射不含任何“键/值”对,方法返回true,否则返回false
public V remove(Object key)删除散列映射中键为参数指定的“键/值”对,并返回键对应的值
public int size()返回散列映射的大小,即散列映射中“键/值”对的数目
5.树集
*TreeSet类创建的对象称作树集
在树集中,同一层中的结点从左到右按:大小顺序递增,从上到下递增
即下一层的都比上一层的小。
在插入树集的结点前要在创建对象的类中实现Comparable接口
树映射是一种特殊的树,树映射的结点存储关键字/值对
*常用方法
public boolean add(E o)向树集添加加节点
public void clear()删除树集中的所有节点
public void contains(Object o)如果树集中有包含参数指定的对象。
public E first()返回树集中的第一个节点中的数据(最小的节点)
public E last()返回最后一个节点中的数据(最大的节点)
public isEmpty()判断是否是空树集,如果树集不含任何节点,该方法返回true
public boolean remove(Object o)删除树集中的存储参数指定的对象的最小节点
public int size()
二.学习代码
package com.jihekuangjia;
//创建一个员工的类
public class YuanGong {
//定义名字性别属性
private String name;
private String sex;
public YuanGong() {}
public YuanGong(String name, String sex) {
super();
this.name = name;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
测试代码
package com.jihekuangjia;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
//创建一个测试类
public class LianXi {
public static void main(String[] args) {
//创建员工对象赋值
YuanGong ren1 = new YuanGong("李明","男");
YuanGong ren2 = new YuanGong("赵明","女");
YuanGong ren3 = new YuanGong("钱明","男");
YuanGong ren4 = new YuanGong("孙明","女");
//创建键值对的集合对象
Map<String,YuanGong> rens = new HashMap<String,YuanGong>();
//把英文名与员工对象按照键值对的方式存在HashMap
rens.put("Jack", ren1);
rens.put("lisa", ren2);
rens.put("kangkang", ren3);
rens.put("rose", ren4);
//获得键的集合
Set ren = rens.keySet();
//增强for循环输出英文名对应的名字和性别
for(String r:ren) {
YuanGong r1 =rens.get(r);
System.out.println(r+"对应的学生姓名是:"+r1.getName()+"性别是:"+r1.getSex());
}
}
}
三.集合框架
20175305张天钰《java程序设计》第八周学习总结的更多相关文章
- 20145302张薇 《Java程序设计》第二周学习总结
20145302张薇 <Java程序设计>第一周学习总结 教材学习内容总结 第三章 第三章讲的是基本类型,变量,运算符和基本条件语句. 基本类型分为: 整数:short(2 byte),i ...
- 20145302张薇《Java程序设计》第九周学习总结
20145302 <Java程序设计>第九周学习总结 教材学习内容总结 第十六周 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC目的:让Jav ...
- 201521123027 <java程序设计>第八周学习总结
1.本周学习总结 1.1思维导图 2.书面作业 Q1.List中指定元素的删除(题目4-1) 1.1 实验总结 总结:判断List中是否存在指定元素,需要用到equals方法,若存在就用remove进 ...
- 20175305张天钰《java程序设计》第九周学习总结
<java程序设计>第九周学习总结
- 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...
- 20145313张雪纯 《Java程序设计》8周学习总结
20145313张雪纯 <Java程序设计>8周学习总结 教材学习内容总结 java.util.logging包的优点在于提供了日志功能相关类与接口,不必额外配置日志组件就可以在标准jav ...
- 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第九周学习总结 教材学习内容总结 -第十一章JDBC和MySQL数据库要点: 1.下载MySQL和客户端管理工具navi ...
- 20175204 张湲祯 2018-2019-2《Java程序设计》第二周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第二周学习总结 教材学习内容总结 -第二章基本数据类型与数组要点: -标识符与关键字:标识符的第一个字符不能是数字字符: ...
- 20175204 张湲祯 2018-2019-2《Java程序设计》 第一周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第一周学习总结 教材学习内容总结 -第一章Java入门要点: -Java的地位:具有面向对象,与平台无关,安全稳定和多线 ...
- 20175313 张黎仙《Java程序设计》第九周学习总结
目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...
随机推荐
- ant 执行jmeter
构建-invoke ant -properties jmeter.home=/home/userapp/apps/apache-jmeter-5.0report.title=kyh_register_ ...
- ELK 构建 MySQL 慢日志收集平台详解
ELK 介绍 ELK 最早是 Elasticsearch(以下简称ES).Logstash.Kibana 三款开源软件的简称,三款软件后来被同一公司收购,并加入了Xpark.Beats等组件,改名为E ...
- HTML界面多语言切换
我在做个人网站时考虑到多语言转换的问题,最后在JS文件中将所有文字数据储存然后设置HTML中的class与key属性来达到多语言效果.当然,还有一个别的方法,就是所有有文字内容的div都用不同语言写一 ...
- css中自定义字体
css代码如下: @font-face { font-family: 'HelveticaNeueLTPro-Th'; src: url('../fonts/HelveticaNeueLTPro-Th ...
- python之map,filter
map和filter是python里面比较重要的BIF,map的主要作用就是对集合里面的每一个元素进行处理,filter的作用就是过滤集合,具体功能如下 t =lambda x:x%2 list(fi ...
- 第四周WordCount优化
一.GitHub地址 https://github.com/kawoyi/Advanced-WordCounter最终由组长整合的组长github 二.psp表格 三.个人模块及实现 我负责的是输入模 ...
- vue父子组件生命周期执行顺序
之前写了vue的生命周期,本以为明白了vue实例在创建到显示在页面上以及销毁等一系列过程,以及各个生命周期的特点.然而今天被问到父子组件生命周期执行顺序的时候一头雾水,根本不知道怎么回事.然后写了一段 ...
- Oracle 数据库基础知识
depyno 部门编号 部门表 dname 部门名称 location 地址----------------------------------------empno 员工编号 员工表ename 员工 ...
- 2018-2019 20165237网络对抗 Exp4 恶意代码分析
2018-2019 20165237网络对抗 Exp4 恶意代码分析 实验目标 1.1是监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2是分析一个恶意软件,就分析Exp2或Exp3中生成后 ...
- Ansible-----循环
with_dict迭代字典项 使用"with_dict"可以迭代字典项.迭代时,使用"item.key"表示字典的key,"item.value&qu ...