|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。
1.供应一组栈的接口,其底层联系关系到一个LinkedList(双端行列)实例。因为只表露部分基于栈完成的接口,以是能够供应平安的栈完成。
importjava.util.LinkedList;
publicclassStack<T>{
privateLinkedList<T>storage=newLinkedList<T>();
/**进栈*/
publicvoidpush(Tv){
storage.addFirst(v);
}
/**出栈,但不删除*/
publicTpeek(){
returnstorage.getFirst();
}
/**出栈*/
publicTpop(){
returnstorage.removeFirst();
}
/**栈是不是为空*/
publicbooleanempty(){
returnstorage.isEmpty();
}
/**打印栈元素*/
publicStringtoString(){
returnstorage.toString();
}
}
2.利用java.util.Queue接口,其底层联系关系到一个LinkedList(双端行列)实例。因为只表露部分基于行列完成的接口,以是能够供应平安的行列完成。
importjava.util.LinkedList;
importjava.util.Queue;
publicclassMyQueue<T>{
privateQueue<T>storage=newLinkedList<T>();
/**将指定的元素拔出队尾*/
publicvoidoffer(Tv){
storage.offer(v);
}
/**检索,可是不移除行列的头,假如此行列为空,则前往null*/
publicTpeek(){
returnstorage.peek();
}
/**检索,可是不移除此行列的头*/
/**此办法与peek办法的唯一分歧是,假如此行列为空,它会抛出一个非常*/
publicTelement(){
returnstorage.element();
}
/**检索并移除此行列的头,假如行列为空,则前往null*/
publicTpoll(){
returnstorage.poll();
}
/**检索并移除此行列的头*/
/**此办法与poll办法的分歧在于,假如此行列为空,它会抛出一个非常*/
publicTremove(){
returnstorage.remove();
}
/**行列是不是为空*/
publicbooleanempty(){
returnstorage.isEmpty();
}
/**打印行列元素*/
publicStringtoString(){
returnstorage.toString();
}
}
本文出自“子孑”博客,请务必保存此出处http://zhangjunhd.blog.51cto.com/113473/69912
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大. |
|