一、机试题目:使用LinkedList实现堆栈数据结构的存储方式与队列的数据结构存储方式。
// 使用LinkedList模拟堆栈的数据结构存储方式
class StackList{
LinkedListlist;
publicStackList(){
list= new LinkedList();
}
//进栈
publicvoid add(Object o){
list.push(o);
}
//弹栈 : 把元素删除并返回。
publicObject pop(){
returnlist.pop();
}
//获取元素个数
publicint size(){
returnlist.size();
}
}
//使用LinkedList模拟队列的存储方式
class TeamList{
LinkedListlist;
publicTeamList(){
list= new LinkedList();
}
publicvoid add(Object o){
list.offer(o);
}
publicObject remove(){
returnlist.poll();
}
//获取元素个数
publicint size(){
returnlist.size();
}
}
public class Demo9 {
publicstatic void main(String[] args) {
TeamListlist= new TeamList();
list.add("李嘉诚");
list.add("马云");
list.add("王健林");
intsize = list.size();
for(inti = 0 ; i<size ; i++){
System.out.println(list.remove());
}
}
}
二、笔试题: 说出ArrayLsit与Vector的区别?
相同点:ArrayList与Vector底层都是使用了Object数组实现的。
不同点:
1.ArrayList是线程不同步的,操作效率高。
Vector是线程同步的,操作效率低。
2.ArrayList是JDK1.2出现,Vector是jdk1.0的时候出现的。
三、Collection与Collections的区别
Collection是单例集合的跟接口,Collections是操作集合对象的一个工具类。