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 ...
随机推荐
- Visual Studio 使用 Web Deploy 发布远程站点
Ø 简介 本文介绍 Visual Studio 如何使用 Web Deploy发布远程站点,有时候我们开发完某个功能时,需要快速将更改发布至服务器.通常 Visual Studio 可以采用两种方式 ...
- java构造方法的重载
package test; public class Person { String name; int age; public Person() { System.out.println(" ...
- Laravel框架中打印sql
在使用Laravel框架的时候,调试的时候,需要将查询的SQL输出校验,这是需要将SQL打印出来. 一.方法 DB::connection()->enableQueryLog(); // 开 ...
- Python 中写一个装饰器实现限制频率访问
1.思路: 首先要在装饰器中确定访问的方法名, 第一次可以访问成功,之后要在规定的时间(变量)之后才可以访问. 初始应该有一个变量为0;访问成功之后把当前的时间赋值给这个变零. 这样再次访问时把当前的 ...
- python 中 dlib库的安装
安装 dlib 库的时候需要用到 CMake 进行本地编译,而Cmake又是基于Visual Studio运行的,我在装这个库的时候,各种找不到教程,就想着分享一下自己的经验. 32位 python3 ...
- 题解 P3246 【[HNOI2016]序列】
很久之前做过这道题,但是跑得贼慢,现在用了可以被卡成 n m 的笛卡尔树做法,发现跑得贼快[雾 noteskey 介绍一种复杂度错误然鹅在随机数据下跑得贼快的算法: 笛卡尔树 方法就是 \(O~ n\ ...
- [insight] debug
python: 1. print理解流程 print('xy1') print('xy2') 可以更好地跟踪函数的执行流程,分析代码 2. 用python库 import pdb; pdb.set_t ...
- zabbix3.2自动发现批量监控redis端口状态
使用nmap提示被防火墙阻挡,实际没有启用防火墙 [root@eus_chinasoft_haproxy:/usr/local/aegis]# nmap 172.20.103.202 -p 7000 ...
- Linux 用户组
文件权限 r w x 文件时的权限介绍 r 可读 可以使用 cat.less等命令 w 可写 可以编辑,删除此文件 x 可执行 可以命令行模式下提交给内核运行此命令 当时目录时 r 可以使用ls列出 ...
- lr 中cookie的解释与用法
Loadrunner 中 cookie 解释与用法loadrunner 中与 cookie 处理相关的常用函数如下: web_add_cookie(): 添加新的 cookie 或者修改已经存在的 c ...