- 浏览: 324676 次
- 性别:
- 来自: 西宁
文章分类
- 全部博客 (120)
- Java Thought (29)
- Java Pattern (4)
- Data Base (7)
- Algorithm Design (33)
- Linux (0)
- Mysql (2)
- Oracle (0)
- ConstructionDesign-架构 (5)
- Spring Platform (0)
- Tomcat (1)
- JavaScript (7)
- Web System (3)
- MS SQLServer (1)
- 软件哲学 (6)
- View (3)
- Java GUI (4)
- CSSDIV (7)
- CloudComputing (0)
- WebService (0)
- SystemOrProject (2)
- SOA (0)
- 互转共享 (3)
- 偶尔java习题 (0)
- Thinks with does (1)
最新评论
-
sassds:
佩服啊 高手
分享一款js特效 -
bhjackson:
学习啦,能否详细介绍下回溯的过程?O(∩_∩)O谢谢
分享回溯法- 找n个数中r个数的组合 -
zk7019311:
了解了解。。。。。
业务层代码复用的一点建议 -
lijie1819:
看到LZ的设计思想,感觉和抽象工厂模式有点相像。
业务层代码复用的一点建议 -
wjjcml1982:
酷毙了!楼主太强悍了!
分享一款js特效
由于代码比较清晰,逻辑简单,所以没有多加说明。
1. 栈元素定义:
/**
* create on 2010-05-19 TODO: 栈元素
*
* @author 毛正吉
* @version 1.0
*
*/
class Node {
protected Object data;
protected Node next;
protected Node() {
data = null;
next = null;
}
protected Node(Object _data) {
data = _data;
next = null;
}
}
2. 栈容器定义:
/**
* create on 2010-05-19 TODO: 栈容器
*
* @author 毛正吉
* @version 1.0
*
*/
public class Stack {
private Node top;
public Stack() {
top = null;
}
/**
* 入栈
*
* @param obj
*/
public void push(Object obj) {
Node node = new Node(obj);
node.next = top;
top = node;
}
/**
* 出栈
*
* @return
* @throws StackException
*/
public Object pop() throws StackException {
if (top == null)
throw new StackException("popping from an empty stack");
else {
Object obj = top.data;
top = top.next;
return obj;
}
}
/**
* 返回栈顶元素
*
* @return
* @throws StackException
*/
public Object peek() throws StackException {
if (top == null)
throw new StackException("peeking into empty stack");
else
return top.data;
}
public boolean isEmpty() {
return (top == null);
}
}
3.栈异常定义:
/**
* create on 2010-05-19 TODO:栈异常定义
*
* @author 毛正吉
* @version 1.0
*
*/
public class StackException extends Exception {
public StackException() {
super("Stack Exception");
}
public StackException(String msg) {
super(msg);
}
}
4. Java对象:
public class Student {
private String name;
private Integer age;
public Student(String _name, Integer _age) {
name = _name;
age = _age;
}
public String toString() {
return "name=" + name + ", " + "age=" + age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
5.栈应用测试:
/**
* create on 2010-05-19 TODO: 栈应用测试
*
* @author 毛正吉
* @version 1.0
*
*/
public class StackApp {
/**
* @param args
* @throws StackException
*/
public static void main(String[] args) throws StackException {
Student s1 = new Student("Alice", 20);
Student s2 = new Student("Bob", 22);
Student s3 = new Student("Jack", 20);
Student s4 = new Student("John", 23);
Student s5 = new Student("Robit", 25);
Stack s = new Stack();
s.push(s1);
s.push(s2);
s.push(s3);
s.push(s4);
s.push(s5);
//s.pop();
while(!s.isEmpty()){
Student st = (Student) s.pop();
System.out.println(st);
}
}
}
6.输出结果:
name=Robit, age=25
name=John, age=23
name=Jack, age=20
name=Bob, age=22
name=Alice, age=20
评论
10 楼
maozj
2010-05-24
adventurous 写道
我现在在论坛发不了贴了,你们的论坛能正常显示吗,我的好像是系统做维护一样,很多功能没了。
他有一些规则,如果违反了,要被惩罚。。你还是看看论坛发帖规则哈
9 楼
adventurous
2010-05-21
我现在在论坛发不了贴了,你们的论坛能正常显示吗,我的好像是系统做维护一样,很多功能没了。
8 楼
maozj
2010-05-21
wangzaixiang 写道
拿这个来练习数据结构吗?
客观的说,这个Stack,拿来实用是不合适的:
1、内存的使用效率并不高,不如采用一个数组做底层的效率高。
2、实际使用的话,要考虑是否是线程安全的,作者方面的处理。
在javaeye论坛上发帖属新手~~
主要是你的帖子水平不高,大家都投你新手,小心罚你回答问题哦
那向您请教了...
客观的说,这个Stack,拿来实用是不合适的:
1、内存的使用效率并不高,不如采用一个数组做底层的效率高。
2、实际使用的话,要考虑是否是线程安全的,作者方面的处理。
maozj 写道
pujia12345 写道
maozj 写道
pujia12345 写道
真的是新手帖!
在javaeye论坛上发帖属新手~~
主要是你的帖子水平不高,大家都投你新手,小心罚你回答问题哦
那向您请教了...
恩~~ 您的说法果然不错 我很能接受 您是高人。。。这才是分享和交流。。。非常感谢你的回复哈!
7 楼
wangzaixiang
2010-05-21
拿这个来练习数据结构吗?
客观的说,这个Stack,拿来实用是不合适的:
1、内存的使用效率并不高,不如采用一个数组做底层的效率高。
2、实际使用的话,要考虑是否是线程安全的,作者方面的处理。
在javaeye论坛上发帖属新手~~
主要是你的帖子水平不高,大家都投你新手,小心罚你回答问题哦
那向您请教了...
客观的说,这个Stack,拿来实用是不合适的:
1、内存的使用效率并不高,不如采用一个数组做底层的效率高。
2、实际使用的话,要考虑是否是线程安全的,作者方面的处理。
maozj 写道
pujia12345 写道
maozj 写道
pujia12345 写道
真的是新手帖!
在javaeye论坛上发帖属新手~~
主要是你的帖子水平不高,大家都投你新手,小心罚你回答问题哦
那向您请教了...
6 楼
maozj
2010-05-21
pujia12345 写道
maozj 写道
pujia12345 写道
真的是新手帖!
在javaeye论坛上发帖属新手~~
主要是你的帖子水平不高,大家都投你新手,小心罚你回答问题哦
那向您请教了...
5 楼
pujia12345
2010-05-21
maozj 写道
pujia12345 写道
真的是新手帖!
在javaeye论坛上发帖属新手~~
主要是你的帖子水平不高,大家都投你新手,小心罚你回答问题哦
4 楼
maozj
2010-05-21
pujia12345 写道
真的是新手帖!
在javaeye论坛上发帖属新手~~
3 楼
pujia12345
2010-05-21
真的是新手帖!
2 楼
maozj
2010-05-20
hatedance 写道
lz是用链表结构实现了栈吗?
lz似乎是从c阵营转过来的,搞java的人很少去搞这些基础的东西,jdk已经提供了不错的stack实现。
lz似乎是从c阵营转过来的,搞java的人很少去搞这些基础的东西,jdk已经提供了不错的stack实现。
我是一开始就搞java的,jdk提供的栈实现是相当不错的,我只是突然有想写种栈实现的想法,所以就写了一个,兴趣导向,意在分享哈...谢谢
1 楼
hatedance
2010-05-20
lz是用链表结构实现了栈吗?
lz似乎是从c阵营转过来的,搞java的人很少去搞这些基础的东西,jdk已经提供了不错的stack实现。
lz似乎是从c阵营转过来的,搞java的人很少去搞这些基础的东西,jdk已经提供了不错的stack实现。
发表评论
-
开散列的简单模拟(一)
2010-06-28 08:33 18221. 散列 散列有两种 ... -
递归和动态规划构造两个字符序列的最长公共字符子序列
2010-06-28 08:28 4493应je朋友要求,所以翻开以前的算法题目,整理了以下,给 ... -
最大公约数的应用 - 分享
2010-06-25 08:08 18491.先看一家大公司笔试题 数组中有n个数据,要将它们顺 ... -
信息数字化解逻辑题分享
2010-06-21 08:09 12561. 前提条件: 将逻辑题目中的信息用数字化描述。 ... -
递归算法分析-分享
2010-06-19 16:09 15921. 深入认识递归 (1) 递 ... -
非递归算法分析实例分享
2010-06-18 15:47 10541 仅仅依赖于问题规模的时间复杂度 (1) 例1: 交换i和 ... -
NP完全性问题
2010-06-18 14:02 7013在学习算法设计与分析时,经常会提到NP完全性问题,到底 ... -
算法分析精述分享
2010-06-18 12:03 8721. 算法分析的评价体系 评价算法的三条主要标准是: ... -
贪婪策略算法的总结分享
2010-06-11 08:30 60701. 贪婪算法描述 贪婪算法又叫登山法,它的根本思想是 ... -
带权有向图 - 边上权值非负情形的单源最短路径问题
2010-06-07 08:57 26791. 问题描述: 给定 ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)四
2010-06-07 08:54 136921. 工作分配问题。 ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)三
2010-06-07 08:53 109017. 字符统计问题。 编写一个算法,统计在一个输入 ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)二
2010-06-07 08:47 13668. 数字迷问题。 A B C ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)一
2010-06-07 08:38 11801. 线程问题。 设计4个线程,其中两个线程每次对j增加 ... -
是否很久没抽象和逻辑了呢? DODO它吧(很基础)
2010-06-07 08:37 18771. 线程问题。 设计 ... -
Java快速排序算法整理(二)
2010-05-31 14:04 1031package boke.sort; /** * 快 ... -
Java快速排序算法整理(一)
2010-05-31 13:39 656package boke.sort; /** * 快 ... -
Java最小堆实现
2010-05-31 08:29 58511.堆结点 package boke.heap1; /* ... -
Java插入排序代码整理
2010-05-28 14:44 1250package boke.sort; /** * 插 ... -
Java选择排序代码整理
2010-05-28 14:37 1505package boke.sort; /** * 选 ...
相关推荐
- 类与对象:Java是一种面向对象的语言,源代码中会包含如何定义类、创建对象以及进行封装、继承和多态的实例。 - 控制结构:包括条件语句(if-else,switch)和循环语句(for,while,do-while),这些都是编写...
Java是一种广泛使用的编程语言,以其“一次编写,到处运行”的特性而闻名。在这个“java面向对象小程序”中,我们可以深入探讨Java语言的核心概念——面向对象编程(Object-Oriented Programming,简称OOP)。面向...
Java对象交换方法剖析这篇论文深入探讨了在Java中如何交换两个对象的问题,并提供了相应的技术实现和分析。首先,文章介绍Java内存分配机制,指出对象实例通常存放在堆内存中,而静态和非静态方法等存放在栈内存中。...
在Java编程语言中,面向对象(Object-Oriented Programming,OOP)是核心特性之一,它使得代码结构清晰,易于维护。面向对象编程基于三个主要概念:封装、继承和多态。下面我们将深入探讨这些概念及其在Java中的实现...
在Java中,接口提供了一种方式来定义一个类型必须实现的方法,是多继承的替代方案。抽象类可以包含未实现的方法,用于定义一个类族的通用行为。同时,集合框架(如ArrayList、LinkedList、Set和Map等)是Java中实现...
Java作为一种通用编程语言,提供了丰富的库来支持SIP协议的实现,使得开发者可以构建基于SIP的应用程序。 在Java中实现SIP协议,我们可以借助JSIP(Java SIP API)库,这是一个开放源代码的项目,为Java平台提供SIP...
本文档将详细介绍一个用于Java中处理JSON数据的通用类——`JsonUtil`,该类封装了一系列方法用于实现JSON与Java对象之间的转换。 #### 类结构及包引入 `JsonUtil`位于`com.linghui.common.util`包下。为了实现JSON...
### Java通用文件上传功能技术实现 #### 一、文件上传概述与原理 在现代软件开发过程中,文件上传是一项非常常见的需求。特别是在Web应用领域,无论是简单的图像上传还是复杂的文档管理,都需要开发者掌握文件上传...
栈是一种后进先出(LIFO)的数据结构,非常适合用来模拟历史记录的操作。每次用户进入新的页面时,都可以将该页面的信息压入栈中;当用户选择返回时,则可以从栈顶弹出最新的页面信息,并跳转到对应的页面。 #### ...
在IT行业中,编程语言是构建软件的基础,而Java是一种广泛使用的高级编程语言,以其平台无关性、面向对象的特性以及丰富的类库而受到开发者们的喜爱。在这个“讲递java实现 代码”的主题中,我们将深入探讨Java编程...
### Java面向对象选择题知识点详解 #### 一、Java源文件命名规则 - **选项解析**: - **错误选项**:源文件名没有限制、必须使用`.class`扩展名。 - **正确选项**:Java 源文件的名称必须与其中定义的公共类名...
在Java编程中,泛型是一种强大的工具,它允许开发者在编写代码时指定容器类(如列表、队列或栈)所容纳的对象类型。这有助于确保类型安全,防止在运行时出现ClassCastException。Java SE 5.0引入了泛型,大大提高了...
- JVM是Java程序运行的平台,理解其内存模型(堆、栈、方法区等)和垃圾回收机制对优化性能有帮助。 通过《Java面向对象编程 第2版》的学习,读者将能够熟练掌握Java OOP的核心概念,从而编写出高效、可维护的Java...
JVM作为一种栈式虚拟机,通过堆栈来执行字节码运算,简化了设计并提高了执行效率。然而,实际处理过程中涉及到异常处理、对象实例化、类型检查和虚方法调用等复杂操作,这些都需要进行优化以提升性能。 性能优化...
Java面向对象编程(Object-Oriented Programming,OOP)是现代软件开发中广泛采用的一种编程范式。它与面向过程编程不同,后者更侧重于步骤和逻辑,而面向对象则关注于数据和操作数据的实体——即对象。 1. **面向...
Java通用代码生成器光2.3.0文明版本Beta8版。请部署在Tomcat9的webapps目录下。 Beta8版修复了不带登录模块的模板的代码...这种代码生成器是一种动词算子式代码生成器,通过域对象和各种动词算子的组合生成各种功能。
"list转树状结构"就是其中的一种常见需求,特别是在数据可视化、数据库查询优化或者构建层次化菜单等场景下。本篇将深入探讨如何实现一个非递归的、支持多个顶级节点的通用工具类来完成这一任务。 首先,我们需要...
Java是一种广泛使用的面向对象的编程语言,特别适合于开发企业级应用。JSP(JavaServer Pages)是Java在Web开发中的一个重要组成部分,它允许开发者将静态HTML与动态Java代码结合起来,生成动态网页内容。Servlet是...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年发布。Java以其“一次编写,到处运行”的特性,成为跨平台应用开发的首选语言。Java的基础部分主要包括以下几个方面:...