


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、复习1 保留字goto2.标识符 数字、字母、下划线、 $组成,不能以数字开头, 不能使用关键字或保留字, 不能包含空格,不能包含除 $以外的符号,不能包含中文 起名规范:包名:所有字母小写: aaabbbccc类名 / 接口名:所有单词首字母大写:AaaBbbCcc变量名 / 函数名:第一个字母全小写,后面单词首字母大写: aaaBbbCcc 常量名:所有字母大写,单词之间用下划线连接: AAA_BBB_CCC3. 基本数据类型、字节数、大小、包装类byte1 字节27-1Byteshort2 字节215-1Shortint4字节231-1Integerlong8 字节263-1Longfl
2、oat4 字节231-1Floatdouble8 字节263-1Doublechar2 字节215-1Characterboolean 1 位Booleana+ 、 +ab=a+:temp=a,a=a+1,b=tempb=+a:a=a+1,b=a5.&和 &的区别&:无论左侧结果是什么,两侧都需要进行运算& :当左侧为 false 时,右侧不参与运算6.最有效的方式计算 2 乘以 82String : String.valueOfString-基本数据类型:包装类 .parseXXX如: (String-int : Integer.parseInt)24. 数组和集合的区别1. 长度是否固定:
3、数组长度固定;集合长度可变2. 能否保存映射关系:数组可以保存映射关系:张三 北京;集合可以 map3. 是否可以保存基本数据类型:数组既能保存基本数据类型,也能保存对象;集合可以保存 一个对象 User,要保存基本类型只能保存包装类4. 是否有方法:数组没有方法;集合有方法25. ArrayList、 Vector 和 LinkedList的区别1. 线程安全: Vector 线程安全; ArrayList 线程不安全2. 存储结构: Vector 和 ArrayList 是数组结构; LinkedList 是链表结构3. 效率: ArrayList 改查快,增删慢; LinkedList
4、改查慢,增删快26. MyArrayListpublic class MyArrayList / 定义一个数组存储数据private Object data;/ 定义大小private int size;public MyArrayList()data=new Object10;/ 实现 add 方法public void add(Object obj)/ 扩容data=Arrays.copyOf(data, data.length*2);datasize+=obj;/ 完成扩容public void ensureCapity()/ 判断是否越界if(size=data.length)/ 扩容
5、/1. 创建一个新的数组Object newData=new Objectdata.length*2;/2. 把原有的数据拷贝到新的数组for (int i = 0; i data.length; i+) newDatai=datai;/ 把 data 指向新的数组data=newData;27.final 修饰类、方法、属性修饰类:类不能被继承修饰方法:方法不能被重写(覆盖)修饰属性:属性变成一个常量,常量不能被更改或重新赋值28.final 修饰属性若要重新赋值1. 直接等于某个值2. 在构造函数中指定3. 在代码块中指定29.什么是抽象类,什么是抽象方法被 abstract 修饰的类是抽
6、象类,被 abstract 修饰的方法是抽象方法抽象类可以有抽象方法,也可以有普通方法抽象方法不能有方法体: pubic abstract void f1();普通方法可以调用抽象方法抽象类不能有自己的对象,即不能被 new抽象类中定义的方法需依赖子类实现, 定义的抽象方法在子类实现时必须实现抽象类中的全 部方法abstract 能修饰类和方法,不能修饰属性30.接口和抽象类的异同共性:两者都不能有自己的实例化对象区别:抽象类能提供方法的声明,接口不可以抽象类只能是单继承,接口可多实现抽象类中定义的变量就是变量,接口中定义的变量是常量31.HashMap 和 TreeMap 的区别,比较倾向于
7、使用哪一个一个平衡树的性能是 O(logn) 。Java里的 TreeMap 用一个红黑树来保证 key/value 的排序。红 黑树是平衡二叉树。保证二叉树的平衡性,使得插入,删除和查找都比较快,时间复杂度都是 O(log n)。不过它没有 HashMap 快, HashMap 的时间复杂度是 O(1),但是 TreeMap 的优点在于它 里面键值是排过序的,这样就提供了一些其他的很有用的功能。使用无序的 HashSet 和 HashMap ,还是使用有序的 TreeSet 和 TreeMap ,主要取决于你的实 际使用场景, 一定程度上还和数据的大小以及运行环境有关。 比较实际的一个原因是
8、, 如果插入 和更新都比较频繁的话, 那么保证元素的有序可以提高快速和频繁查找的性能。 如果对于排序操 作(例如产生一个报表合作者运行一个批处理程序) 的要求不是很频繁的话, 那么把数据以无序 的方式存储,然后在需要排序的时候用 Collections.sort(?) 来进行排序,会比用有序的方式来存储 可能会更加高效。 这个只是一种可选的方式, 没人能给你一个确切的答案。 即使是复杂度的理论, 例如 O(n),成立的前提也是在 n 足够大的情况下。只要在 n 足够小的情况下,就算是 O(n)的算 法也可能会比 O(log n)的算法更加高效。另外,一个算法可能在AMD 处理器上的速度比在 I
9、ntel处理器上快。 如果你的系统有交换区的话, 那么你还要考虑磁盘的性能。 唯一可以确定的性能测 试途径是用大小合适的数据来测试和衡量程序的性能和内存使用量。 在你所选择的硬件上来测试 这两种指标,是最合适的方法。32.HashMap 和 HashTable 的去呗1. 继承: HashMap :继承于 AbstractMap ;HashTable:继承于 Dictionary2. 线程安全: HashMap 线程不安全; HashTable 线程不安全3. null:HashMap允许 key和value为null,但key值只能有一个 null ,否则会覆盖; HashTable 不允许
10、 key 或 value 为 null33.final 、 finally 和 finalize 的区别final:修饰符(关键字)如果一个类被声明为final ,意味着它不再派生出新的子类,不能作为父类被继承, 因此一个类不能既被声明为 abstract 又被声明为 final ,将变量或方法声明为 final , 可以保证它们在使用中不被改变,被声明为 final 的变量必须在声明时给定初值,而在以后的引 用中只能读取,不可修改,被声明为 final 的方法也同样只能使用,不能重载finally :在异常处理时提供 finally 块来执行任何清除操作,如果抛出一个异常,那么相匹配 的 catch 语句就会执行,然后控制就会进入 finally 块finalize:方法名,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 领导与环境适应能力的考核试题及答案
- 股东入股合同协议书(5篇)
- 消防安全总结范文(15篇)
- 土地厂房转让合同
- 软件测试中的伦理问题探讨试题及答案
- 行政组织理论的实际操作指南及2025年试题及答案
- 包船运输合同范文参考(17篇)
- 嵌入式操作系统的选择标准试题及答案
- 环境科学气候变化适应性试题库
- 物联网技术在智能仓储管理合同
- 花样跳绳知到智慧树章节测试课后答案2024年秋深圳信息职业技术学院
- 《霸王别姬》电影分享
- 国家开放大学-02154《数据库应用技术》期末考试题库(含答案)
- 【初中物理】专项练习:电学部分多选题30道(附答案)
- 学校特色课程实施方案
- 【MOOC】创新思维与创业实验-东南大学 中国大学慕课MOOC答案
- 中考道德与法治常考题型万能答题模板
- 2024年秋儿童发展问题的咨询与辅导终考期末大作业案例分析1-5答案
- 《珠宝品牌推广方案》课件
- 房屋建筑工程清包合同格式
- 气压传动课件 项目九任务一 饮料灌装气动系统故障分析与维护
评论
0/150
提交评论