深圳尚学堂Java面试习题集(二)(尚学堂java就业班全套视频百度网盘)

createh53周前 (05-08)技术教程9

1.请说出 ArrayList,Vector, LinkedList 的存储性能和特性

解答:ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加

和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以

索引数据快而插入数据慢,Vector 由于使用了 synchronized 方法(线程安全),通常性能上较

ArrayList 差,而 LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但

是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

2.简单说明什么是递归?什么情况会使用?并使用 java 实现一个简单的递归程序。

解答:

1)递归做为一种算法在程序设计语言中广泛应用.是指函数/过程/子程序在运行过程中直接或间接调

用自身而产生的重入现象。

2)递归算法一般用于解决三类问题:

a.数据的定义是按递归定义的。(Fibonacci(斐波那契)函数)

b.问题解法按递归算法实现。(回溯)

c.数据的结构形式是按递归定义的。(树的遍历,图的搜索)

3).这是一个排列的例子,它所做的工作是将输入的一个字符串中的所有元素进行排序并输出,例如:

你给出的参数是"abc" 则程序会输出:

abc

acb

bac

bca

cab

cba

a.算法的出口在于:low=high也就是现在给出的排列元素只有一个时。

b.算法的逼近过程:先确定排列的第一位元素,也就是循环中i所代表的元素,

然后low+1开始减少排列元素,如此下去,直到low=high

public class Foo {

public static void main(String[] args) {

permute("abc");

}

public static void permute(String str) {

char[] strArray = str.toCharArray();

permute(strArray, 0, strArray.length - 1);

}

public static void permute(char[] list, int low, int high) {

int i;

if (low == high) {

String cout = "";

for (i = 0; i <= high; i++)

cout += list[i];

System.out.println(cout);

} else {

for (i = low; i <= high; i++) {

char temp = list[low];

list[low] = list[i];

list[i] = temp;

permute(list, low + 1, high);

temp = list[low];

list[low] = list[i];

list[i] = temp;

}

}

}

}

3.列出自己常用的 jdk 包

解答:JDK 常用的 package

java.lang: 这个是系统的基础类,比如 String 等都是这里面的,这个 package 是唯一一个可以不

用 import 就可以使用的 Package

java.io: 这里面是所有输入输出有关的类,比如文件操作等

java.net: 这里面是与网络有关的类,比如 URL,URLConnection 等。

java.util : 这个是系统辅助类,特别是集合类 Collection,List,Map 等。

java.sql: 这个是数据库操作的类,Connection, Statememt,ResultSet 等

相关文章

Java 经典面试试题及答案(java经典面试题附答案)

J2EE 部分:1.Switch能否用string做参数?在 Java 7 之前, switch 只能支持 byte 、 short 、 char 、 int 或者其对应的封装类以及 Enum 类型。...

深圳尚学堂Java面试习题集(五)(尚学堂java课程)

1.ArrayList和Vector的区别?解答:同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不是同步的;数据增长:当需要增长时,Vector默认增长为原来...

深圳尚学堂Java面试习题集(七)(尚学堂的java所有教学视频)

1. 应用服务器有哪些:weblogic ,jboss,tomcat2. Hibernate优于JDBC的地方1.对jdbc访问数据库进行了封装,简化了数据访问层的重复代码2.Hibernate操作数...

深圳尚学堂Java面试习题集(四)(尚学堂的java所有教学视频)

1.事务是什么?有哪些属性,并简要说明这些属性的含义。解答:事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如S...

深圳尚学堂Java面试习题集(三)(深圳尚学堂培训怎么样)

1.Hibernate中:不看数据库,不看XML文件,不看查询语句,怎么样能知道表结构?解答:可以看与XML文件对应的域模型。2.存储过程和函数的区别解答:从参数的返回情况来看:如果返回多个参数值最好...