Java面试笔试常遇到的问题

来源:互联网 发布:软件开发工作量报价 编辑:程序博客网 时间:2024/06/16 03:00

一.冒泡(手写代码)

for(int j=0;j<array.length;j++){for(int i = j+1;i<array.length;i++){if(array[j]>array[i]){int temp = array[j];array[j] = array[i];array[i] = temp;}}}

 二.HashMap和HashTable的区别

1.  继承类不同:

a)   HashMap继承 AbstractMap

b)   Hashtable继承Dictionary

2.  执行效率不同:

a)   HashMap是非线程安全的,是Hashtable的轻量级实现,效率较高

b)   Hashtable是线程安全的,效率较低



 三.StringBuffer和StringBuilder的区别

 拥有共同的方法:

toString(),append()字符串追加的方法 

1.   String字符串的长度是固定不变的,而StringBuffer和StringBuilder来说可变的字符串,所以说一般情况下涉及到字符串拼接我们都使用StringBuffer或者StringBuilder

2.   StringBuffer是线程安全的,运行效率低于StringBuilder

3.   StringBuilder是非线程安全的,适用于单线程,运行效率高于StringBuffer

四 ArrayList,LinkedList,Vector的区别

     ArrayList基于数组存储结构:查询速度较快,插入和删除速度较慢,线程不安全的

     LinkedList基于链式存储结构:查询速度较慢,插入和删除速度较快,线程不安全的

     Vector 线程安全的,但是已不建议使用


未完待续......