1. Collection的迭代器:1 Iterator iterator():迭代器,集合的专用遍历方式 2. 代码示例:package cn.itcast_03;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;/** Iterator iterator():迭代器,集合的专用遍历方式 * Iterator(迭代器):* Object next():获取元素,并移动到下一个位置。* NoSuchElementException:没有这样的元素,因为你已...
迭代器能够将遍历的操作与序列底层的结构分离 1import java.util.*;2 3publicclass CrossContainerIterator {4 5publicstaticvoid main(String[] args) {6 7 ArrayList<Integer> arrayList = new ArrayList<Integer>(Arrays.asList(1,2,3));8 LinkedList<Integer> linkedList = new LinkedList<Integer>(Arrays.asList(1,2,3));9 HashSet<Integer> hashSet = new HashSet<Integer>();
1011 hashSe...
Map<String, String> mapServlet = new HashMap<String, String>(); System.out.println("迭代方法一");for( Object key:mapServlet.keySet()){System.out.println( key );System.out.println(mapServlet.get(key));}System.out.println("迭代方法二");for( Object value: mapServlet.values()){System.out.println(value);}System.out.println("迭代方法三");for(Iterator iterator = mapServlet.entrySet().iterato...
概述 网上大部分人说迭代模式的时候,总是以某一种可遍历的对象为例进行介绍。这是可行的,这也是迭代模式的基本原型。当我看到《Head Frist设计模式》中迭代模式的时候,感觉要是能从另一个角度来说明,可能更能够体现迭代模式的威力所在。 本文介绍的这种迭代模式,倒是更像是适配器-迭代器模式。希望于你有益~版权说明著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:Coding-Naga发表日期: 2016...
递归版package MergeSort;import Utils.SortUtils;
/*** 归并排序递归版* @author liguodong*/publicclassDemo02 {publicstaticvoidmergeSort(int[] a){mSort(a, a, 0, a.length-1);}/*** * @param SR为待排序的数据* @param TR1为排序之后的数据* @param s* @param t*/publicstaticvoidmSort(int[] SR,int[] TR1, int s,int t){int m;int[] TR2 = newint[SR.length];if(s==t){TR1[s] = SR[s];}else {m = (s+t)/2;//4mSort(SR, TR2...
1import java.util.Scanner;2 3publicclass sqrtNewton {4publicstaticvoid main(String[] args) {5 System.out.println("请输入要开方的数:");6 Scanner input = new Scanner(System.in);7double num = input.nextDouble();8double e = 0.01F;9 sqrt(num, e);
10 num = 2;
11 e = 0.0001F;
12 sqrt(num, e);
13 num = 2;
14 e = 0.00001F;
15 sqrt(num, e...
编写自己的Iterator,实现Iterator接口,这里多说一句,实现Iterable后,可以用“foreach”循环遍历你的对象。import java.util.Iterator;
import java.util.NoSuchElementException;/*** 演示Iterator和Iterable接口,并说明怎样编写一个用于对象数组的简单迭代器。*/publicclass AarrayIterator<T> implements Iterable<T>, Iterator<T> {privatefinalstatic String[] names = {"rose", "petunia", "tulip"};publicstaticvoid ma...
可以将一个类的定义放在另一个类的定义内部,这就是内部类.
内部类的定义是简单的,但是它的语法确实很是复杂,让人不是很好理解.下面就内部类做一个小结.
一.内部类的分类 总的来讲内部类分为普通内部类,匿名内部类,局部内部类,嵌套类(静态内部类)等.下面简要的介绍以下这些内部类定义的语法. (1).对于普通的内部类,就是在外围类中插入另一个类的定义.如下面的代码:package lkl1;///封装一个包裹类publicclass Parcel {///在一个类...
JAVA使用术语“Collection”来指代那些表示集合的对象,JAVA提供的接口很多,首先我们先来记住他们的层次结构:java集合框架的基本接口/类层次结构java.util.Collection [I]
+--java.util.List [I]+--java.util.ArrayList [C]+--java.util.LinkedList [C]+--java.util.Vector [C]+--java.util.Stack [C]
+--java.util.Set [I]+--java.util.HashSet [C]+--java.util.SortedSet [I]+--java.util.TreeSet [C]java.util.Map [I]
+--jav...
(十五)观察者模式观察者模式,定义对象间一对多关系,一个对象状态发生改变,所有依赖于它的对象都收到通知并且自动更新,观察者与被观察者分开。例如邮件订阅、RSS订阅,如果有更新就会邮件通知你。interface Observers{public void update();
}
class Observer1 implements Observers{public void update(){System.out.println("observer1 has received");}
}
class Observer2 implements Observers{public void update(){Syst...
什么是List集合: 特点:元素有序可重复的集合。集合中每个元素都有其对应的顺序索引。List集合默认按元素的添加顺序设置元素的索引,索引从0开始。 List接口的常用方法:List可以使用Collection的所有方法。但是List也有自己的一些方法。void add(int index, Object element) : 将元素element插入到List集合的index处boolean addAll(int index, Collection c) : 将集合C包含的所有元素都插入到List集合的index处Object get(int in...
package com.bdqn.iterator;publicinterface MyIterator {//将游标指向第一个元素void first();//将游标指向下一个元素void next();//判断存在下一个元素boolean hasNext();boolean iSFirst();boolean iSLast();//获取当前游标指向的对象 Object getCurrentObj();}MyIteratorpackage com.bdqn.iterator;publicinterface MyIterator {//将游标指向第一个元素void first();//将游标指向下一个元素void next();//判断存在下一个元素...
学习Demo
Java设计模式之迭代器
使用 HashMap 来存储学生信息:键为学生学号,值为姓名
毕业时,需要用户输入学生的学号,并根据学号进行删除操作
码上行动 import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;/*** Java设计模式之迭代器* 使用 HashMap 来存储学生信息【键为学生学号,值为姓名】* 毕业时,需要用户输入学生的学号,并根据学号进行删除操作* @Author Hateyes* @Date 2020-07-25 9...
两个菜馆合并后的菜单问题
蛋糕店与餐厅合并后,怎么统一管理菜单项目
问题:一个用ArrayList管理菜单,一个用数组管理
传统设计
菜单项
package com.java.jikexueyuan.iteratormode;public class MenuItem {private String name,description;private boolean vegetable;private float price;public MenuItem(String name,String description,boolean vegetable,float price){this.name=name;this.description=description;this.ve...
原文地址:http://www.work100.net/training/monolithic-architecture-design-patterns-iterator-pattern.html
更多教程:光束云 - 免费课程
迭代器模式序号
文内章节
视频1
概述2
实现请参照如上章节导航进行阅读
1.概述
迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。
迭代器模式属于行为型模式。
意图:
提供一种方法顺序访...