Java面试2012-06-04
1、java中不用第三方变量交换两个int变量的值
a = a + b;b = a - b;a = a - b;
a = a * b;b = a / b;a = a / b;
a = a ^ b;b = a ^ b;a = a ^ b;
说明:
参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0, 1^0=1, 0^1=1, 1^1=0
2、ArrayList与Vector
详见:Java util之常用数据类型特性盘点
3、List<String>从中删除值为“123”的数据
说明:
List<String> strings = new ArrayList<String>();
假设该strings里面的值为:"123"、"abc"、"f"、"123"、"3"、"f"、"123"、"123"
如何将该List里面值为“123”的全部删除?
4、递归列出某目录下的所有文件
// 递归列出创建时间最早的文件private void funList(File file) {//log(file);if (file.isDirectory()) {File[] files = file.listFiles();if (files == null) {return;} else {for (File f : files) {funList(f);}}} else {if (!file.isHidden()) {//deleteArea.setText("");//deleteArea.setText(file.toString());log(file);fileDateLists.add(file);} else {// log("隐藏文件:"+file);}}}//delete dirvoid deleteDir(File file) {if (file.isDirectory()) {File[] files = file.listFiles();for (int i = 0; i < files.length; i++) {File f = files[i];if (f.isDirectory()) {deleteDir(files[i]);} else {if (!f.delete()) {System.err.println(f.getAbsolutePath() + "cann't be deleted .");}}}}if (!file.delete()) {System.err.println(file.getAbsolutePath() + "cann't be deleted .");}}5、多线程
Class Demo {synchronized A () {....}synchronized B () {....}}在多线程环境下有线程One和线程Two,而demo为new Demo()的对象,问在两个线程中是否可以分别调用demo.A()和demo.B()?
6、Java实现双向链表
7、JS是否有类
8、定义了函数function f(x, y) {......}但是在调用时想给函数f传递三个参数f(x, y, z),问在不改变原有函数f的情况下,如何将z传递到f函数中?