diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 518fae0ed48e89d02722cbafb724b72d484918a8..78eb07c0c6030b6096ce2fb208ba8ca8ac08f5bf 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -8,23 +8,25 @@
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index a55bdf49ab9345a634e1a117abe70771ddd5e849..cd62da29414a76aa6ba10fe81cfd141e07a638de 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -13,6 +13,8 @@
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 189ff21ed23151bc41d1180ab129fc6a59f425e1..de79f7d206451638918fd36b501f2420b2b86865 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,3 +1,4 @@
+
@@ -16,6 +17,7 @@
+
diff --git a/README.md b/README.md
index bbb8c9b7912bd58c79678aaa9024cfab4bf0c6b9..0314411ce804460c7907286b00b569ef4f5a2639 100644
--- a/README.md
+++ b/README.md
@@ -202,6 +202,12 @@
## 状态模式的总结

+# 迭代器模式
+
+
+## 迭代器模式的结构图
+
+
1. 使用 Readme.md 来支持不同的语言, Readme\_en.md: 支持英文, Readme\_zh.md: 支持中文
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 小的进步,才是大的开始!!!
diff --git a/byv-iterator-patttern-17/.gitignore b/byv-iterator-patttern-17/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..5ff6309b7199129c1afe4f4ec1906e640bec48c6
--- /dev/null
+++ b/byv-iterator-patttern-17/.gitignore
@@ -0,0 +1,38 @@
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**/target/
+!**/src/test/**/target/
+
+### IntelliJ IDEA ###
+.idea/modules.xml
+.idea/jarRepositories.xml
+.idea/compiler.xml
+.idea/libraries/
+*.iws
+*.iml
+*.ipr
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+!**/src/main/**/build/
+!**/src/test/**/build/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/byv-iterator-patttern-17/pom.xml b/byv-iterator-patttern-17/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bde81c4a623d9f64ccc4836038d3a2aa2d2fb92c
--- /dev/null
+++ b/byv-iterator-patttern-17/pom.xml
@@ -0,0 +1,58 @@
+
+
+ 4.0.0
+
+ org.example
+ byv-iterator-patttern-17
+ 1.0-SNAPSHOT
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.28
+ compile
+
+
+ org.dom4j
+ dom4j
+ 2.1.3
+
+
+ jaxen
+ jaxen
+ 1.1.6
+
+
+ log4j
+ log4j
+ 1.2.12
+
+
+ org.slf4j
+ slf4j-api
+ 1.7.36
+
+
+ com.alibaba
+ fastjson
+ 1.2.62
+
+
+ junit
+ junit
+ 4.12
+ compile
+
+
+
+
+
\ No newline at end of file
diff --git a/byv-iterator-patttern-17/src/main/java/com/boyunv/iterator/example01/ConcreteIterator.java b/byv-iterator-patttern-17/src/main/java/com/boyunv/iterator/example01/ConcreteIterator.java
new file mode 100644
index 0000000000000000000000000000000000000000..b69aae18011584a9a7afc7c3873a5f9dd999b0e1
--- /dev/null
+++ b/byv-iterator-patttern-17/src/main/java/com/boyunv/iterator/example01/ConcreteIterator.java
@@ -0,0 +1,41 @@
+package com.boyunv.iterator.example01;
+/*
+ *@description
+ *具体的迭代器
+ *@author boyunv
+ *@create 2023/8/31 22:46
+ *@version 1.0
+ */
+
+import java.util.ArrayList;
+import java.util.NoSuchElementException;
+
+public class ConcreteIterator implements Iterator{
+
+ private int cursor;//游标
+
+ private ArrayList arrayList;//容器
+
+ public ConcreteIterator( ArrayList arrayList) {
+ this.cursor = 0;
+ this.arrayList = arrayList;
+ }
+
+ @Override
+ public boolean hasNext() {
+ return cursor!=arrayList.size();
+ }
+
+ @Override
+ public void next() {
+ cursor++;
+ }
+
+ @Override
+ public E currentItem() {
+ if (cursor>= arrayList.size()){
+ throw new NoSuchElementException();
+ }
+ return arrayList.get(cursor);
+ }
+}
diff --git a/byv-iterator-patttern-17/src/main/java/com/boyunv/iterator/example01/Iterator.java b/byv-iterator-patttern-17/src/main/java/com/boyunv/iterator/example01/Iterator.java
new file mode 100644
index 0000000000000000000000000000000000000000..cfc1580486e6f1b8c613468e55571c61c70d5e99
--- /dev/null
+++ b/byv-iterator-patttern-17/src/main/java/com/boyunv/iterator/example01/Iterator.java
@@ -0,0 +1,19 @@
+package com.boyunv.iterator.example01;
+/*
+ *@description
+ * 迭代器接口
+ *@author boyunv
+ *@create 2023/8/31 22:44
+ *@version 1.0
+ */
+
+public interface Iterator {
+ //判断集合是否有下一个元素
+ boolean hasNext();
+
+ //将有游标的后移一位
+ void next();
+
+ //返回当前游标指定的元素
+ E currentItem();
+}
diff --git a/byv-iterator-patttern-17/src/main/java/com/boyunv/iterator/example01/tet.java b/byv-iterator-patttern-17/src/main/java/com/boyunv/iterator/example01/tet.java
new file mode 100644
index 0000000000000000000000000000000000000000..068309e3799d5eb751fdf0be771ebc0dd57a57e7
--- /dev/null
+++ b/byv-iterator-patttern-17/src/main/java/com/boyunv/iterator/example01/tet.java
@@ -0,0 +1,28 @@
+package com.boyunv.iterator.example01;
+/*
+ *@description
+ *
+ *@author boyunv
+ *@create 2023/8/31 7:51
+ *@version 1.0
+ */
+
+import java.util.ArrayList;
+
+public class tet {
+ public static void main(String[] args) {
+ ArrayList names=new ArrayList<>();
+ names.add("lisi");
+ names.add("zs");
+ names.add("ww");
+ names.add("zz");
+
+ Iterator iterator=new ConcreteIterator<>(names);
+ while (iterator.hasNext()){
+ System.out.println(iterator.currentItem());
+
+ iterator.next();
+ }
+
+ }
+}
diff --git a/byv-iterator-patttern-17/src/main/resources/config.xml b/byv-iterator-patttern-17/src/main/resources/config.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7cbe016568f295adf6621d9d76f83604173b20e5
--- /dev/null
+++ b/byv-iterator-patttern-17/src/main/resources/config.xml
@@ -0,0 +1,4 @@
+
+
+ com.boyunv.strategy.example03.MT1101HandlerStrategy
+
\ No newline at end of file
diff --git a/img/img_iterator_pattern_concept.png b/img/img_iterator_pattern_concept.png
new file mode 100644
index 0000000000000000000000000000000000000000..7c7f32230f436fa91fb5f35e107d01fa898ca882
Binary files /dev/null and b/img/img_iterator_pattern_concept.png differ
diff --git a/img/img_iterator_pattern_struct.png b/img/img_iterator_pattern_struct.png
new file mode 100644
index 0000000000000000000000000000000000000000..b17a861c8692b86b5ed12886490907ca4be8c300
Binary files /dev/null and b/img/img_iterator_pattern_struct.png differ