您的位置:首页 > 职场人生

Java面试笔试常遇到的问题

2017-11-20 23:45 344 查看

一.冒泡(手写代码)

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 线程安全的,但是已不建议使用

未完待续......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 面试