三个小任务掌握List、Set、Map
任务一:
ArrayList、Vector 和 LinkedList 都实现了 List 接口,对它们分别进行如下操作后比 较它们的不同,然后形成初步耗时报告(三种不同 List 的耗时):
追加元素(追加一万次);
添加元素到任意位置(添加一万次);
分别使用 for 循环、forEach 循环、迭代器进行遍历;
删除任意位置的元素(删除一万次)。
public class ListDemo {
//add 追加
public void addArrayList(){
//追加元素一万次耗时
ArrayList<Integer> a1 = new ArrayList<Integer>();
//开始的时间
long startTime = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
a1.add(i);
//在同一位置追加
// a1.add(1);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("ArrayList追加一万次记录耗时:"+(endTime-startTime)+"毫秒");
}
public void addVector(){
//Vector追加一万次耗时
Vector<Integer> v1 = new Vector<>();
//开始的时间
long startTime = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
v1.add(i);
//在同一位置追加
// v1.add(1);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("Vector追加一万次记录耗时:"+(endTime-startTime)+"毫秒");
}
public void addLinkedList(){
//LinkedList追加一万次记录耗时
LinkedList<Integer> link1 = new LinkedList<>();
//开始的时间
long startTime = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
link1.add(i);
//在同一位置追加
// link1.add(1);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("LinkedList追加一万次记录耗时:"+(endTime-startTime)+"毫秒");
}
//traverse 遍历
public void traverseArrayList(){
System.out.println("ArrayList的三种遍历方式:");
//创建ArrayList集合
ArrayList<String> a1 = new ArrayList<>();
//添加元素
a1.add("从前有座山");
a1.add("山上有座庙");
a1.add("庙里有个小和尚在敲代码");
//for 循环遍历
System.out.println("for循环遍历:");
for (int i = 0; i < a1.size(); i++) {
System.out.println(a1.get(i));
}
//foreach 遍历
System.out.println("foreach 遍历:");
for (String s:a1) {
System.out.println(s);
}
//iterator(迭代器遍历)
System.out.println("iterator 遍历:");
Iterator<String> iterator = a1.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
public void traverseVector(){
System.out.println("Vector的三种遍历方式:");
//创建Vector集合
Vector<String> v1 = new Vector<>();
//添加元素
v1.add("从前有座山");
v1.add("山上有座庙");
v1.add("庙里有个小和尚在敲代码");
//for 循环遍历
System.out.println("for循环遍历:");
for (int i = 0; i < v1.size(); i++) {
System.out.println(v1.get(i));
}
//foreach 遍历
System.out.println("foreach 遍历:");
for (String s:v1) {
System.out.println(s);
}
//iterator(迭代器遍历)
System.out.println("iterator 遍历:");
Iterator<String> iterator = v1.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
public void traverseLinkedList(){
System.out.println("LinkedList的三种遍历方式:");
//创建LinkedList集合
LinkedList<String> link = new LinkedList<>();
//添加元素
link.add("从前有座山");
link.add("山上有座庙");
link.add("庙里有个小和尚在敲代码");
//for 循环遍历
System.out.println("for循环遍历:");
for (int i = 0; i < link.size(); i++) {
System.out.println(link.get(i));
}
//foreach 遍历
System.out.println("foreach 遍历:");
for (String s:link) {
System.out.println(s);
}
//iterator(迭代器遍历)
System.out.println("iterator 遍历:");
Iterator<String> iterator = link.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
//remove 删除
public void removeArrayList(){
//创建集合
ArrayList<Integer> a1 = new ArrayList<>();
//添加一万个记录
for (int i = 0; i < 10000; i++) {
a1.add(i);
}
//开始的时间
long startTime = System.currentTimeMillis();
//删除操作
for (int i = 0; i < a1.size(); i++) {
a1.remove(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("ArrayList删除一万记录耗时:"+(endTime -startTime)+"毫秒");
}
public void removeVector(){
//创建集合
Vector<Integer> v1 = new Vector<>();
//添加一万个记录
for (int i = 0; i < 10000; i++) {
v1.add(i);
}
//开始的时间
long startTime = System.currentTimeMillis();
//删除操作
for (int i = 0; i < v1.size(); i++) {
v1.remove(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("Vector删除一万记录耗时:"+(endTime -startTime)+"毫秒");
}
public void removeLinkedList(){
//创建集合
LinkedList<Integer> link = new LinkedList<>();
//添加一万个记录
for (int i = 0; i < 10000; i++) {
link.add(i);
}
//开始的时间
long startTime = System.currentTimeMillis();
//删除操作
for (int i = 0; i < link.size(); i++) {
link.remove(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("LinkedList删除一万记录耗时:"+(endTime -startTime)+"毫秒");
}
@Test
public void test(){
addArrayList();
addVector();
addLinkedList();
traverseArrayList();
traverseVector();
traverseLinkedList();
removeArrayList();
removeVector();
removeLinkedList();
}
}
任务二:
HashSet 和 TreeSet 都实现了 Set 接口,对它们分别进行如下操作后比较它们的不 同,然后形成初步耗时报告(两种不同 Set 的耗时):
添加元素(添加一万次);
分别使用 forEach 循环、迭代器进行遍历;
删除任意位置的元素(删除一万次)
public class SetDemo {
//追加
public void addHashSet(){
//创建 HashSet集合
HashSet<Integer> hashset = new HashSet<>();
//开始的时间
long startTime = System.currentTimeMillis();
//追加元素
for (int i = 0; i < 10000; i++) {
hashset.add(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("HashSet追加一万条记录耗时:"+(endTime-startTime)+"毫秒");
}
public void addTreeSet(){
//创建 TreeSet集合
TreeSet<Integer> treeSet = new TreeSet<>();
//开始的时间
long startTime = System.currentTimeMillis();
//追加元素
for (int i = 0; i < 10000; i++) {
treeSet.add(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("TreeSett追加一万条记录耗时:"+(endTime-startTime)+"毫秒");
}
//遍历 traverse
public void traverseHashSet(){
System.out.println("HashSet遍历方式:");
//创建集合
HashSet<String> hashSet = new HashSet<>();
//添加元素
hashSet.add("从前有座山");
hashSet.add("山上有座庙");
hashSet.add("庙有个小和尚在敲代码");
//foreach 遍历
System.out.println("foreach遍历:");
for (String s:hashSet) {
System.out.println(s.toString());
}
//iterator 遍历
System.out.println("iterator遍历:");
Iterator<String> iterator = hashSet.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
public void traverseTreeSet(){
System.out.println("TreeSett遍历方式:");
//创建集合
TreeSet<String> treeSet = new TreeSet<>();
//添加元素
treeSet.add("从前有座山");
treeSet.add("山上有座庙");
treeSet.add("庙有个小和尚在敲代码");
//foreach 遍历
System.out.println("foreach遍历:");
for (String s:treeSet) {
System.out.println(s.toString());
}
//iterator 遍历
System.out.println("iterator遍历:");
Iterator<String> iterator = treeSet.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
//删除 remove
public void removeHashSet(){
//创建集合
HashSet<Integer> hashSet = new HashSet<>();
//添加元素
for (int i = 0; i < 10000; i++) {
hashSet.add(i);
}
//开始的时间
long startTime = System.currentTimeMillis();
//删除元素
for (int i = 0; i < hashSet.size(); i++) {
hashSet.remove(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("删除一万条元素HashSet耗时为:"+(endTime-startTime)+"毫秒");
}
public void removeTreeSet(){
//创建集合
TreeSet<Integer> treeSet = new TreeSet<>();
//添加元素
for (int i = 0; i < 10000; i++) {
treeSet.add(i);
}
//开始的时间
long startTime = System.currentTimeMillis();
//删除元素
for (int i = 0; i < treeSet.size(); i++) {
treeSet.remove(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("删除一万条元素TreeSet耗时为:"+(endTime-startTime)+"毫秒");
}
@Test
public void test(){
addHashSet();
addTreeSet();
traverseHashSet();
traverseTreeSet();
removeHashSet();
removeTreeSet();
}
}
任务三:
HashMap、TreeMap、LinkedHashMap 和 Hashtable 都实现了 Map 接口,对它 们分别进行如下操作后比较它们的不同,然后形成初步耗时报告(两种不同 Map 的耗 时):
追加键值对(追加一万次);
替换键值对(替换一万次);
分别使用 entrySet、keySet/values、迭代器进行遍历;
删除键值对(删除一万次)
public class MapDemo {
//追加
public void addHashMap(){
//创建集合
HashMap<Integer, String> hashMap = new HashMap<>();
//开始的时间
long startTime = System.currentTimeMillis();
//追加记录
for (int i = 0; i < 10000; i++) {
hashMap.put(i,"hello,word");
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("HashMap追加一万条键值对耗时为:"+(endTime-startTime)+"毫秒");
}
public void addTreeMap(){
//创建集合
TreeMap<Integer, String> treeMap = new TreeMap<>();
//开始的时间
long startTime = System.currentTimeMillis();
//追加记录
for (int i = 0; i < 10000; i++) {
treeMap.put(i,"hello,word");
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("TreeMap追加一万条键值对耗时为:"+(endTime-startTime)+"毫秒");
}
public void addLinkedHashMap(){
//创建集合
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
//开始的时间
long startTime = System.currentTimeMillis();
//追加记录
for (int i = 0; i < 10000; i++) {
linkedHashMap.put(i,"hello,word");
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("LinkedHashMap追加一万条键值对耗时为:"+(endTime-startTime)+"毫秒");
}
public void addHashtable(){
//创建集合
Hashtable<Integer, String> hashtable = new Hashtable<>();
//开始的时间
long startTime = System.currentTimeMillis();
//追加记录
for (int i = 0; i < 10000; i++) {
hashtable.put(i,"hello,word");
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("Hashtable追加一万条键值对耗时为:"+(endTime-startTime)+"毫秒");
}
//replace 替换
public void replaceHashMap(){
//创建集合
HashMap<Integer, String> hashMap = new HashMap<>();
//追加元素
for (int i = 0; i < 10000; i++) {
hashMap.put(i,"hello,word");
}
//开始的时间
long startTime = System.currentTimeMillis();
//替换元素
for (int i = 0; i < hashMap.size(); i++) {
hashMap.replace(i,"你好,世界");
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("HashMap替换一万次元素耗时为:"+(endTime-startTime)+"毫秒");
}
public void replaceTreeMap(){
//创建集合
TreeMap<Integer, String> treeMap = new TreeMap<>();
//追加元素
for (int i = 0; i < 10000; i++) {
treeMap.put(i,"hello,word");
}
//开始的时间
long startTime = System.currentTimeMillis();
//替换元素
for (int i = 0; i < treeMap.size(); i++) {
treeMap.replace(i,"你好,世界");
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("TreeMap替换一万次元素耗时为:"+(endTime-startTime)+"毫秒");
}
public void replaceLinkedHashMap(){
//创建集合
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
//追加元素
for (int i = 0; i < 10000; i++) {
linkedHashMap.put(i,"hello,word");
}
//开始的时间
long startTime = System.currentTimeMillis();
//替换元素
for (int i = 0; i < linkedHashMap.size(); i++) {
linkedHashMap.replace(i,"你好,世界");
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("LinkedHashMap替换一万次元素耗时为:"+(endTime-startTime)+"毫秒");
}
public void replaceHashtable(){
//创建集合
Hashtable<Integer, String> hashtable = new Hashtable<>();
//追加元素
for (int i = 0; i < 10000; i++) {
hashtable.put(i,"hello,word");
}
//开始的时间
long startTime = System.currentTimeMillis();
//替换元素
for (int i = 0; i < hashtable.size(); i++) {
hashtable.replace(i,"你好,世界");
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("Hashtable替换一万次元素耗时为:"+(endTime-startTime)+"毫秒");
}
//遍历
public void traverseHashMap() {
//创建集合
HashMap<Integer, String> hashMap = new HashMap<>();
//添加元素
hashMap.put(1, "赵云");
hashMap.put(2, "张飞");
hashMap.put(3, "马超");
System.out.println("HashMap遍历方式:");
//entrySet 迭代器遍历
System.out.println("entrySet 迭代器遍历:");
Iterator<Map.Entry<Integer, String>> iterator01 = hashMap.entrySet().iterator();
while (iterator01.hasNext()){
Map.Entry<Integer, String> entry = iterator01.next();
System.out.print("key:"+entry.getKey());
System.out.println(" value:"+entry.getValue());
}
//keySet 迭代器遍历
System.out.println("keySet 迭代器遍历");
Iterator<Integer> iterator02 = hashMap.keySet().iterator();
while (iterator02.hasNext()){
Integer key = iterator02.next();
System.out.println("key:"+key+" value:"+hashMap.get(key));
}
}
public void traverseTreeMap() {
//创建集合
TreeMap<Integer, String> treeMap = new TreeMap<>();
//添加元素
treeMap.put(1, "赵云");
treeMap.put(2, "张飞");
treeMap.put(3, "马超");
System.out.println("treeMap遍历方式:");
//entrySet 迭代器遍历
System.out.println("entrySet 迭代器遍历:");
Iterator<Map.Entry<Integer, String>> iterator01 = treeMap.entrySet().iterator();
while (iterator01.hasNext()){
Map.Entry<Integer, String> entry = iterator01.next();
System.out.print("key:"+entry.getKey());
System.out.println(" value:"+entry.getValue());
}
//keySet 迭代器遍历
System.out.println("keySet 迭代器遍历");
Iterator<Integer> iterator02 = treeMap.keySet().iterator();
while (iterator02.hasNext()){
Integer key = iterator02.next();
System.out.println("key:"+key+" value:"+treeMap.get(key));
}
}
public void traverseLinkedHashMap() {
//创建集合
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
//添加元素
linkedHashMap.put(1, "赵云");
linkedHashMap.put(2, "张飞");
linkedHashMap.put(3, "马超");
System.out.println("linkedHashMap遍历方式:");
//entrySet 迭代器遍历
System.out.println("entrySet 迭代器遍历:");
Iterator<Map.Entry<Integer, String>> iterator01 = linkedHashMap.entrySet().iterator();
while (iterator01.hasNext()){
Map.Entry<Integer, String> entry = iterator01.next();
System.out.print("key:"+entry.getKey());
System.out.println(" value:"+entry.getValue());
}
//keySet 迭代器遍历
System.out.println("keySet 迭代器遍历");
Iterator<Integer> iterator02 = linkedHashMap.keySet().iterator();
while (iterator02.hasNext()){
Integer key = iterator02.next();
System.out.println("key:"+key+" value:"+linkedHashMap.get(key));
}
}
public void traverseHashtable() {
//创建集合
Hashtable<Integer, String> hashtable = new Hashtable<>();
//添加元素
hashtable.put(1, "赵云");
hashtable.put(2, "张飞");
hashtable.put(3, "马超");
System.out.println("hashtable遍历方式:");
//entrySet 迭代器遍历
System.out.println("entrySet 迭代器遍历:");
Iterator<Map.Entry<Integer, String>> iterator01 = hashtable.entrySet().iterator();
while (iterator01.hasNext()){
Map.Entry<Integer, String> entry = iterator01.next();
System.out.print("key:"+entry.getKey());
System.out.println(" value:"+entry.getValue());
}
//keySet 迭代器遍历
System.out.println("keySet 迭代器遍历");
Iterator<Integer> iterator02 = hashtable.keySet().iterator();
while (iterator02.hasNext()){
Integer key = iterator02.next();
System.out.println("key:"+key+" value:"+hashtable.get(key));
}
}
//remove 删除
public void removeHashMap(){
//创建集合
HashMap<Integer, String> hashMap = new HashMap<>();
//添加元素
for (int i = 0; i < 10000; i++) {
hashMap.put(i,"hello,word");
}
//开始的时间
long startTime = System.currentTimeMillis();
//删除元素
for (int i = 0; i < hashMap.size(); i++) {
hashMap.remove(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("hashMap删除一万条键值对耗时为:"+(endTime-startTime)+"毫秒");
}
public void removeTreeMap(){
//创建集合
TreeMap<Integer, String> treeMap = new TreeMap<>();
//添加元素
for (int i = 0; i < 10000; i++) {
treeMap.put(i,"hello,word");
}
//开始的时间
long startTime = System.currentTimeMillis();
//删除元素
for (int i = 0; i < treeMap.size(); i++) {
treeMap.remove(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("treeMap删除一万条键值对耗时为:"+(endTime-startTime)+"毫秒");
}
public void removeLinkedHashMap(){
//创建集合
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
//添加元素
for (int i = 0; i < 10000; i++) {
linkedHashMap.put(i,"hello,word");
}
//开始的时间
long startTime = System.currentTimeMillis();
//删除元素
for (int i = 0; i < linkedHashMap.size(); i++) {
linkedHashMap.remove(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("linkedHashMap删除一万条键值对耗时为:"+(endTime-startTime)+"毫秒");
}
public void removeHashtable(){
//创建集合
Hashtable<Integer, String> hashtable = new Hashtable<>();
//添加元素
for (int i = 0; i < 10000; i++) {
hashtable.put(i,"hello,word");
}
//开始的时间
long startTime = System.currentTimeMillis();
//删除元素
for (int i = 0; i < hashtable.size(); i++) {
hashtable.remove(i);
}
//结束的时间
long endTime = System.currentTimeMillis();
System.out.println("hashtable删除一万条键值对耗时为:"+(endTime-startTime)+"毫秒");
}
@Test
public void test(){
addHashMap();
addTreeMap();
addLinkedHashMap();
addHashtable();
replaceHashMap();
replaceTreeMap();
replaceLinkedHashMap();
replaceHashtable();
traverseHashMap();
traverseTreeMap();
traverseLinkedHashMap();
traverseHashtable();
removeHashMap();
removeTreeMap();
removeLinkedHashMap();
removeHashtable();
}
}
三个小任务掌握List、Set、Map的更多相关文章
- 10、Cocos2dx 3.0游戏开发找小三之容器篇:Vector、Map、Value
重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27705613 容器 3.0版本号之前Cocos2d- ...
- JAVA:三种集合LIST、SET、MAP
1. 集合框架介绍 我 们知道,计算机的优势在于处理大量的数据,在编程开发中,为处理大量的数据,必须具备相应的存储结构,数组可以用来存储并处理大量类型相同的数 据,但是会发现数组在应用中的限制:数组长 ...
- 一个div,包含三个小的div,平均分布的样式
从11月份开始,自学前端开发,写静态页面中,经常用到一个大的div下包含三个小的div,平均分布div大小样式,写过多次,也多次忘记,每次都要现找资料,不想之后,在这么麻烦,索性今天自己记录一下,方便 ...
- 《Mysql 公司职员学习篇》 第三章 小A的疑问
第三章 小A的疑问 ---- 数据类型和自增列 小A拿着鸡腿,回到了房间里面,咬了一嘴油,说:"我有2个疑问,在Excell里面,像列PetAge(宠物年龄)这样的数字,我一般会设置成数值 ...
- arduino新入手体验:三个小实验
新入手体验:三个小实验 一:一个LED闪烁 控制要求:1个LED灯,每隔50ms闪烁一次 实物连接图: 控制代码: //2018.6/11 ;//定义数字接口10,对应 void setup() { ...
- 【LibreOJ】#6392. 「THUPC2018」密码学第三次小作业 / Rsa 扩展欧几里得算法
[题目]#6392. 「THUPC2018」密码学第三次小作业 / Rsa [题意]T次询问,给定正整数c1,c2,e1,e2,N,求正整数m满足: \(c_1=m^{e_1} \ \ mod \ \ ...
- 关于微信小程序下拉出现三个小点
包子这天看美团外卖的小程序,再瞅瞅自己的背景色,发现,美团下拉的时候有三个小点,但是我自己的校车徐下拉的时候没有三个小点,很是郁闷,于是各种的找各种的找,发现,这三个小点是微信小程序自带的,你只需要设 ...
- mysql 使用的三个小技巧
mysql 使用的三个小技巧 快速阅读 Mysql查询工具中如何查询多条语名,Mysql中如何设置变量,Mysql中如何查特定字段,后面再加* Mysql查询工具中如何查询多条语名 默认myslq只能 ...
- 大div中,三个小div水平居中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- HTML横向滚动条和文本超出显示三个小圆点
我们这次要说的就是:现在有很多的公司以及很多的app软件经常使用的两个方法横向滚动条和文本超出三个小圆点 横向滚动条:顾名思义嘛,就是能够一块内容可以横着滑动. 文本超出三个小圆点:文本超出就是当文本 ...
随机推荐
- k8s中节点级别的日志
容器化应用程序写入到 stdout 和 stderr 中的任何信息,都将被容器引擎重定向到某个地方.例如,Docker 容器引擎将 stdout 和 stderr 这两个输出流重定向到 logging ...
- iOS Social和Accounts简单使用
ACAccountStore *account = [[ACAccountStore alloc] init]; ACAccountType *type = [account accountTypeW ...
- Failed to find a valid digest in the 'integrity' attribute for resource
一.Bootstrap 引入报错 在使用bootstrap过程中发现无法使用下拉导航栏,或者是显示不出效果. Failed to find a valid digest in the 'integr ...
- PHP全栈开发(四): HTML 学习(1.基础标签+表格标签)
简单的学习一下HTML 学习HTML采用在www.runoob.com上学习的方法. 而且该网站还提供在线编辑器. 然后HTML编辑器使用Notepad++ 记得上Emmet的官网http://emm ...
- 手把手教你玩转 Gitea|在 Windows 系统上安装 Gitea
Gitea 支持在 Windows 系统上安装和使用.Gitea 本身作为一个单体应用程序,即点即用,如需长期驻留作为后台服务并开机运行就要依靠 Windows 服务工具 sc.exe. 通过本文,你 ...
- python基础--简单数据类型预览
为了适应更多的使用场景,将数据划分为多种类型,每种类型都有各自的特点和使用场景, 帮助计算机高效的处理和展示数据.(比如数字用于数学运算.字符串用于信息传递.页面文字展示等) 1.数字类型 整型 ...
- TomCat之负载均衡
TomCat之负载均衡 本文讲述了tomcat当nginx负载均衡服务器配置步骤 以下是Tomcat负载均衡配置信息 1.修改nginx的nginx.conf文件 添加如下属性:localhost是名 ...
- 编写一个jsp页面,利用Scriptlet编写一段计算代码,要求用零作为除数,并使用page指令将错误信息显示在另外一个jsp页面,产生的错误信息为“错误,不能用0做除数”
文章目录 1.测试结果: 2.结果计算页面 3.错误处理页面 1.测试结果: 2.结果计算页面 <%@ page language="java" contentType=&q ...
- js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)
js 获取开始时间和结束时间相隔小时及分钟(时间戳操作) 场景描述:获取开始时间和结束时间相隔小时及分钟 实例: TimeOnConfirm(curDate) { if(this.pickernum ...
- 基于PCIe DMA的8通道视频采集&显示IP,兼容V4L2
基于PCIe DMA的8通道视频采集&显示IP,兼容V4L2 Video Capture&Display IP for V4L2 在主机端视频设备内核驱动V4L2 的控制和调度下,Vi ...