- 浏览: 386109 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (314)
- java (132)
- 生活 (13)
- javase模式 (6)
- weblogic (4)
- jquery (5)
- sql (21)
- ecside (1)
- el (3)
- css (5)
- spring (7)
- ireport (2)
- linux (14)
- struts2 (2)
- jstl (1)
- rmi (1)
- rose (9)
- js (6)
- swing (4)
- webservice (1)
- jboss (1)
- ejb3 (2)
- xml (1)
- 线程 (9)
- socket (3)
- jms (2)
- tomcat (10)
- 领域驱动 (3)
- json (3)
- 权限 (2)
- jvm (1)
- 书籍 (1)
- eclipse RCP (0)
- 数据库设计 (10)
- 软件分析建模 (5)
- 分析建模 (3)
- hibernate jpa (5)
- Java 获取系统信息,包括CPU使用率、硬盘大小、网卡状态、系统信息等 (1)
- 项目管理 (2)
- 财务 (0)
- oracle (2)
- 需求 (2)
- rcp gef (0)
- c++ (1)
- hadoop (2)
- BIGDATA (3)
- c (6)
最新评论
-
lh_kevin:
...
jpa 注解 -
一别梦心:
你好,我也遇到此问题了。就你贴的那段代码,你说了两种解决方式, ...
Hibernate的Antlr在Weblogic中产生Jar冲突的历史缘故以及解决办法 -
fireinjava:
...
el表达式 -
宋建勇:
...
JSON: property "xxx" has no getter method in class "..." -
handawei:
有道理,jpa是orm框架的java标准,它关注的是对象到关系 ...
jpa 注解
Iterator:
public interface Iterator {
boolean hasNext();
Object next();
}
数组实现:
public class ArrayIterator implements Iterator {
MenuItem[] items;
int position = 0;
public ArrayIterator(MenuItem[] items) {
this.items = items;
}
public Object next() {
MenuItem menuItem = items[position];
position = position + 1;
return menuItem;
}
public boolean hasNext() {
if (position >= items.length || items[position] == null) {
return false;
} else {
return true;
}
}
}
ArrayList提供了自己的实现。
也可以用for(Object obj:objects)来循环。可用于数组和数组列表。
组合包含组件,组件有两种:组合和叶子。会得到一个树型结构。
菜单组件:
public abstract class Component {
/**
* 组合可用的
* @author handw
* @time 2009-8-12下午01:02:17
* @param Component
*/
public void add(Component Component) {
throw new UnsupportedOperationException();
}
/**
* 叶子和组合都可以用的
* @author handw
* @time 2009-8-12下午01:02:30
* @return
*/
public String getName() {
throw new UnsupportedOperationException();
}
/**
* 遍历
* @author handw
* @time 2009-8-12下午01:02:42
*/
public void print() {
throw new UnsupportedOperationException();
}
}
组合:
public class Menu extends Component {
ArrayList components = new ArrayList();
String name;
public Menu(String name) {
this.name = name;
}
public void add(Component component) {
components.add(component);
}
public String getName() {
return name;
}
public void print() {
System.out.print("\n" + getName());
System.out.println(", " + getDescription());
System.out.println("---------------------");
Iterator iterator = Components.iterator();
while (iterator.hasNext()) {
Component component = //主要递归
(Component)iterator.next();
Component.print();
}
}
}
叶子:
public class MenuItem extends Component {
String name;
public MenuItem(String name )
{
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void print() {
System.out.print(" " + getName());
}
}
这样得到一个组合,可以直接调用print进行遍历。
发表评论
-
字符串,Volatile
2013-03-18 12:01 1121转载:http://www.ibm.com/de ... -
qian rushi
2012-12-01 10:13 0唐攀,华清远见高级研 ... -
110道 C语言 题目 超经典中的经典
2012-10-21 08:57 0... -
LOG4J
2012-08-07 10:34 1036long4j配置 转载:http://www.iteye. ... -
jpa 注解
2011-12-20 09:23 11821转:http://blog.csdn.net/gdweijin ... -
jna
2011-11-29 17:28 1525... -
eclipse设置
2011-11-16 08:45 864转:http://www.iteye.com/topic/11 ... -
深入分析 Java I/O 的工作机制
2011-11-14 08:57 888... -
java获得计算机信息
2011-10-29 13:03 1366采用singar.jar实现,需要将sigar-x86-win ... -
java内存机制
2011-10-24 13:01 1278转. Java内存机制详解 Ja ... -
缓存技术
2011-09-27 13:28 814一个培训的ppt,是介绍缓存知识的。有兴趣的可以参考:缓存技术 ... -
单点登录
2011-09-26 08:37 1596了解单点登录:: 可以使 ... -
继承和组合的关系
2011-08-18 09:17 904个人工作的感触: 首先框架的编写是难度很大,而工具 ... -
导入导出,创建databaselink
2011-08-10 15:56 2126pl/sql导出表结构和表 ... -
小结一下
2011-08-04 10:20 862觉得程序层面上是:数据类型(int long string) ... -
分析建模
2011-07-17 20:13 866系统建模与分析。 -
Java浮点数的精确计算
2011-06-27 16:10 988... -
异常系统
2011-05-31 17:19 707http://www.iteye.com/topic/7217 ... -
权限管理
2011-01-27 09:30 1331... -
jvisualvm
2011-01-11 21:09 907可以查看远程 本地的jvm 有两种方式 jmx jstatd ...
相关推荐
这个项目的名称"jsoniter"是由"json"和"iterator"两个词组合而成,暗示其专注于JSON数据的迭代解析。 在Go的标准库`encoding/json`中,`Marshal`和`Unmarshal`是两个关键函数,分别用于将Go结构体编码为JSON字符串...
迭代器模式(Iterator Pattern)和组合模式(Composite Pattern)是设计模式中的两种重要结构型模式,它们在软件设计中有着广泛的应用。这两种模式都属于GoF(Gang of Four)设计模式,旨在解决特定的问题,提升代码...
Struts2框架中的`s:iterator`标签是用于循环遍历数据集合的重要标签,适用于处理数组、列表、Map等数据结构。下面将详细讲解这个标签的用法及其...在实际开发中,可以根据需求组合使用这些特性来实现动态渲染页面内容。
在实际开发中,这样的组合不仅可以提高代码的可读性,还能有效地分离视图层和控制层,促进应用程序的模块化和可维护性。记住,无论对象结构如何复杂,只要提供了相应的getter和setter方法,EL表达式都能够轻松处理。
在软件设计领域,"Factory Strategy Builder Iterator" 是一组常见的设计模式组合,它们各自有独特的功能和应用场景,但常被一起使用以实现灵活、可扩展的系统。这些模式都是面向对象设计中的重要工具,有助于提高...
排列组合的具体组合 本资源主要围绕排列组合的概念,通过 C++ 编程语言实现了 C(n,m) 的任意求解算法,并提供了相关的实验代码。 排列组合的概念 排列组合是数学中的一种重要概念,用于描述从一个集合中选取一定...
6. 迭代器的构建和扩展:包括如何使用迭代器的方法构建新的迭代器,以及如何通过方法链的方式对迭代器进行扩展和组合。 7. 高阶函数:在Rust中,迭代器常常与高阶函数一起使用,这些高阶函数接受其他函数作为参数,...
在实际应用中,迭代器模式常用于各种容器(如数组、链表、树等)的遍历,以及模板方法模式、策略模式等设计模式的组合。例如,在Java的`Collections`类中,有许多方法(如`sort()`、`shuffle()`)都依赖于迭代器来...
在es6之前有 Array , Object, es6新增了 map, set,当然用户也可以组合使用这几种数据结构,灵活存储数据。 但是当数据结构变得复杂后,怎样取到里面的数据就也相对复杂,这就需要有一种读取数据的统一的接口机制,...
生成器(Generator)是Python中的一种迭代器(Iterator),它可以创建一个可以迭代的对象,但不会一次性将所有元素加载到内存中,而是按需生成。例如,g=((i+2)**2 for i in range(10))创建了一个生成器对象g,该...
3. **组合其他迭代器方法**:由于`Iterator2d`实现了`Iterator` trait,你可以链式调用其他迭代器方法,如`filter()`来过滤元素,`map()`来转换元素,或`enumerate()`来获取元素的索引和值。 4. **内存效率**:`...
在这个主题中,我们主要探讨了如何利用组合模式(Composite Pattern)构建二叉树,并通过迭代器模式(Iterator Pattern)来实现对树的遍历,包括前序、中序和后序遍历。这些是设计模式中的经典应用,对于理解和掌握...
在IT行业中,SSH通常指的是Struts、Spring和Hibernate三大开源框架的组合,它们是Java Web开发中的重要工具。本文将详细讲解SSH框架中涉及到的五个关键标签:`set`、`push`、`if/elseif/else`、`iterator`以及`sort`...
本篇将重点讲解如何利用`sx:`标签实现组合查询和带分页功能。 首先,让我们了解下Struts2的`sx:`标签。它扩展了Struts2的OGNL(Object-Graph Navigation Language)表达式,使得在JSP页面中可以直接访问Action类中...
在这个话题中,我们将深入探讨如何利用组合模式(Composite Pattern)和迭代模式(Iterator Pattern)来构建和遍历树结构。 **组合模式**是面向对象设计模式的一种,它允许我们处理部分和整体的关系。在树形结构中...
同时,可能还有一个`Iterator`类用于遍历组件树。 通过这样的设计,组合模式提供了一种灵活的、可扩展的方式来构建和操作对象树。它促进了代码的简洁性和可维护性,因为用户可以使用统一的接口处理单个对象和对象...
它提供语法扩展以轻松组合包装器类型(Option,Result和Iterator),看起来像文档用法首先,将以下内容添加到您的Cargo.toml中:[dependencies] comp =“ *”接下来,将其添加到您的板条箱根中:#[macro_use] ...
Iterator iterator = menuComponents.iterator(); while (iterator.hasNext()) { MenuComponent menuComponent = (MenuComponent) iterator.next(); menuComponent.print(); } } ``` 通过这种方式,我们不仅...
迭代器会按照一定的策略(如交错、同步或等待所有流都准备好后再继续等)将两个流中的元素组合在一起。 使用这个模块,你可以实现以下功能: 1. **交错遍历**:将两个流中的元素交替取出,例如,如果第一个流有 `...