三个小任务掌握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软件经常使用的两个方法横向滚动条和文本超出三个小圆点 横向滚动条:顾名思义嘛,就是能够一块内容可以横着滑动. 文本超出三个小圆点:文本超出就是当文本 ...
随机推荐
- 一文搞定 Spring事务
Spring 事务 上文 使用SpringJDBC 1.JDBC事务控制 不管你现在使用的是那一种ORM开发框架,只要你的核心是JDBC,那么所有的事务处理都是围绕着JDBC开展的,而JDBC之中 ...
- 请推荐下比较适合中小企业的ERP系统,如odoo,除前期开发和不定期完善,有没有其他固定月费或年费?
odoo的话你自己就可以下载开源的安装使用的啊,如果你要别人帮你开发和完善做技术服务的话一般都还是要年费的,主要是因为要帮你做维护或修bug什么的,自己能搞定的话自然不需要的哦.只是odoo使用的是p ...
- PHP全栈开发(九):javascript 基础
js不允许读取电脑上的文件: js不允许修改服务器上的文件,修改服务器上的文件是php来做的事情. 因此js是一个前端脚本. 前端的三个语言是HTML/CSS/JavaScript 这三个东东Java ...
- core3商城DDD实战(一)建模
我所在学校部门的一个校园商城项目(学生售卖二手物品与发布悬赏求助等,在线上确认,校园内线下交易) 我们使用DDD的软件开发方法,这是我们进入编程世界上手的第二个项目,从创建仓库到现在已经过去二十多天, ...
- js读取excel进行批量操作
推荐这款插件 http://oss.sheetjs.com/js-xls/ 具体用法大家查看api! <!DOCTYPE html> <html> <head> & ...
- el-cascader中最后一级显示为空在前端处理数据
el-cascader中最后一级显示为空是因为从后端接口获取的数据最后一个children为空 <el-cascader :options="treeDeptData" st ...
- Annocation(注解)的使用示例
示例一:生成文档相关的注解示例二:在编译时进行格式检查(JDK内置的三个基本注解)@Override: 限定重写父类方法, 该注解只能用于方法@Deprecated: 用于表示所修饰的元素(类, 方法 ...
- Windows活动目录_初识
计算机组织形式 工作组(用户本地登录时构造SID进行权限分配): 域(统一身份验证与管理) 域注意事项 实体:域控.域用户.加入域的机子. 依赖的服务:netlogon服务 强制刷新组策略gpupda ...
- Vue3 SFC 和 TSX 方式自定义组件实现 v-model
1 v-model 1.1 理解 v-model v-model 是 vue3 中的一个内置指令,很多表单元素都可以使用这个属性,如 input.checkbox 等,咱可以在自定义组件中实现 v-m ...
- Visual Studio(VS)修改C语言scanf等报错
1.在程序最前面加:#define_CRT_SECURE_NO_DEPRECATE 2.按照vs规定进行修改,例如把scanf改为scanf_s: 3.在"项目" -> &q ...