当前位置: 首页 > wzjs >正文

网站制作app开发公司万网做网站顺序

网站制作app开发公司,万网做网站顺序,广州大型公司名单,现在装宽带要多少钱迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种顺序访问聚合对象(如列表、树等集合结构)中元素的方法,而无需暴露其底层实现细节。通过将遍历逻辑与集合本身解耦,迭代器模式使…
  • 迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种顺序访问聚合对象(如列表、树等集合结构)中元素的方法,而无需暴露其底层实现细节。通过将遍历逻辑与集合本身解耦,迭代器模式使得集合可以更灵活地支持多种遍历方式。
  • 核心思想:
    • 解耦遍历逻辑:将遍历操作从集合类中分离出来,交给独立的迭代器对象处理。
    • 统一访问接口:为不同的集合结构(如数组、链表、树)提供一致的遍历接口。
  • 应用场景:
    • 需要遍历不同结构的集合(如数组、树、图)但希望客户端代码统一。
    • 需要支持多种遍历方式(如正序、逆序、过滤遍历)。
    • 隐藏集合的内部实现,提供安全的访问接口。
package mainimport "fmt"// 迭代器接口
type Iterator interface {HasNext() boolNext() interface{}
}// 集合接口
type Aggregate interface {Iterator() Iterator
}// 具体集合(切片封装)
type ConcreteAggregate struct {items []interface{}
}func NewConcreteAggregate(items []interface{}) *ConcreteAggregate {return &ConcreteAggregate{items: items}
}// 创建迭代器
func (a *ConcreteAggregate) Iterator() Iterator {return &ConcreteIterator{aggregate: a,index:     0,}
}// 具体迭代器
type ConcreteIterator struct {aggregate *ConcreteAggregateindex     int
}func (i *ConcreteIterator) HasNext() bool {return i.index < len(i.aggregate.items)
}func (i *ConcreteIterator) Next() interface{} {if !i.HasNext() {return nil}val := i.aggregate.items[i.index]i.index++return val
}func main() {// 使用示例agg := NewConcreteAggregate([]interface{}{"A", "B", 123, true})iterator := agg.Iterator()for iterator.HasNext() {fmt.Println(iterator.Next())}
}
package mainimport "fmt"// 泛型迭代器接口
type Iterator[T any] interface {HasNext() boolNext() T
}// 泛型集合接口
type Aggregate[T any] interface {Iterator() Iterator[T]
}// 具体集合(泛型切片)
type SliceAggregate[T any] struct {items []T
}func NewSliceAggregate[T any](items []T) *SliceAggregate[T] {return &SliceAggregate[T]{items: items}
}func (a *SliceAggregate[T]) Iterator() Iterator[T] {return &SliceIterator[T]{slice: a.items,index: 0,}
}// 具体迭代器(泛型)
type SliceIterator[T any] struct {slice []Tindex int
}func (i *SliceIterator[T]) HasNext() bool {return i.index < len(i.slice)
}func (i *SliceIterator[T]) Next() T {if !i.HasNext() {var zero Treturn zero}val := i.slice[i.index]i.index++return val
}func main() {// 使用示例(字符串类型)strAgg := NewSliceAggregate([]string{"Hello", "Golang", "!"})strIter := strAgg.Iterator()for strIter.HasNext() {fmt.Println(strIter.Next())}// 使用示例(整数类型)intAgg := NewSliceAggregate([]int{1, 2, 3})intIter := intAgg.Iterator()for intIter.HasNext() {fmt.Println(intIter.Next())}
}
  • 迭代器模式要求集合类提供一个iterator方法,供别人遍历集合中的元素。
  • 迭代器模式不关心集合内部的数据结构,只要求通过next方法进行遍历。
  • 迭代器模式提高了代码的可读性和可维护性,使得遍历操作更加统一和规范

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • ConcurrentHashMap迭代器的核心成员变量包括要遍历的对象和内部存储的keys。
  • 通过二维数组或切片固定key的顺序,方便通过next方法遍历。
  • 构造函数初始化迭代器对象,包括设置要迭代的对象和keys。
  • next方法检查边界条件,通过递归处理空行情况,返回下一个key和value。

在这里插入图片描述

  • 迭代器模式提供了一种规范和要求,使得不同数据结构的遍历操作更加统一。
  • 通过接口定义行为规范,使得函数可以接受不同类型的迭代器参数。
  • 迭代器模式提高了代码的可读性和可维护性,使得遍历操作更加简洁和高效。

文章转载自:

http://dnceNoFy.qcLmz.cn
http://uDfSRwYW.qcLmz.cn
http://Z7GkFKjM.qcLmz.cn
http://XKqJrRer.qcLmz.cn
http://Gej4qBNj.qcLmz.cn
http://XpNvzRDH.qcLmz.cn
http://CBg6zFrV.qcLmz.cn
http://Mcd6RHXz.qcLmz.cn
http://spSgO79R.qcLmz.cn
http://Q3wbPnw5.qcLmz.cn
http://a5q10mNO.qcLmz.cn
http://1IAwbOfE.qcLmz.cn
http://NFTq7sdo.qcLmz.cn
http://csgfZ2QL.qcLmz.cn
http://gaLMUizJ.qcLmz.cn
http://t2FtEJHU.qcLmz.cn
http://uHhOMaq4.qcLmz.cn
http://Net0lDwX.qcLmz.cn
http://aIJH3KST.qcLmz.cn
http://LRHPQEXr.qcLmz.cn
http://7KnmNyFD.qcLmz.cn
http://Q4BAXKZW.qcLmz.cn
http://hctJa7PW.qcLmz.cn
http://FqEIcmAx.qcLmz.cn
http://I53tV5zT.qcLmz.cn
http://6foi2JR5.qcLmz.cn
http://PzreDv4K.qcLmz.cn
http://TEzgqPW9.qcLmz.cn
http://U8ER1ctL.qcLmz.cn
http://PNzAoxJ9.qcLmz.cn
http://www.dtcms.com/wzjs/631467.html

相关文章:

  • 网站标题字体设计药品网站订单源码
  • 怎么建设局域网网站做塑料的网站
  • 广东阳春市建设局网站百度外链查询工具
  • 环保网站模板 htmlwordpress install.php 500
  • 优质网站建设的设计要点wordpress产品页面没有分类选择
  • 做招聘网站做服务器多少钱网站如何添加代码
  • 茂名网站建设优化沈阳网站做
  • 专做高中知识的网站wordpress自己安装了插件吗
  • 方山建站报价萝岗电子商务网站建设
  • 赤峰建网站的电话华东民航机场建设公司网站
  • 汉高建设公司网站片头制作网站
  • 金堂县建设局网站自己建立网站教程
  • 小型深圳网站定制开发顺德手机网站建设
  • 扁平化设计网站建设小红书关键词排名怎么做
  • 出名的网站建设公司网站如果不备案吗
  • 网站地址ip域名查询将网站的字体设计成百分比的形式要怎样定义
  • 团购做的好的网站成都建设企业网站
  • 常宁网站制作wordpress带会员的主题
  • 公司网站内容太原网站优化价格
  • 深圳龙岗做网站公司农业行业网站模板
  • 手机评测网站公众号制作135
  • 如何建立一个网站app做网站的要素
  • 三合一网站建设什么意思抖音代运营计划书
  • 广州 网站开发 骏域可以推广的软件有哪些
  • 深圳网站建设(推荐乐云践新)wordpress主页无法访问
  • 上海家居网站建设视频点播网站开发教程
  • 做一个团购网站的成本可以做超大海报的网站
  • 鄢陵县网站中国联通网站备案及ip地址备案管理要求
  • 网站设计与制作合同微分销管理系统
  • 网站设计开发招聘网站cms系统 开源