迭代器学习心得

迭代器是一种模式、详细可见其设计模式,可以使得序列类型的数据结构的遍历行为与被遍历的对象分离,即我们无需关心该序列的底层结构是什么样子的。只要拿到这个对象,使用迭代器就可以遍历这个对象的内部
Iterable 实现这个接口的集合对象支持迭代,是可以迭代的。实现了这个可以配合foreach使用~
Iterator 迭代器,提供迭代机制的对象,具体如何迭代是这个Iterator接口规范的。
//Iterable JDK源码
//可以通过成员内部类,方法内部类,甚至匿名内部类去实现Iterator

public interface Iterable
{

Iterator<T> iterator();

Iterable还有一个默认的方法forEach()
而Iterator接口:包含三个方法:hasNext,next,remove、remove一般很少用到.

public interface Iterator {

boolean hasNext();    //每次next之前,先调用此方法探测是否迭代到终点

E next();            //返回当前迭代元素 ,同时,迭代游标后移


 /*删除最近一次已近迭代出出去的那个元素。
 只有当next执行完后,才能调用remove函数。
 比如你要删除第一个元素,不能直接调用 remove()   而要先next一下( );
 在没有先调用next 就调用remove方法是会抛出异常的。
 这个和MySQL中的ResultSet很类似
*/
void remove()
{
    throw new UnsupportedOperationException("remove");
}

Note

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
迭代学习控制器在Simulink中是一种用于改善控制效果的控制策略。Simulink是一种基于模型的设计和仿真环境,可以用于建立和模拟动态系统的模型。在Simulink中,可以使用迭代学习控制器来实现对系统的控制。 具体而言,在Simulink中使用迭代学习控制器时,需要建立系统的数学模型,并将其表示为Simulink模型。然后,通过使用迭代学习控制器的算法,将模型与实际系统进行比较,并根据误差信息进行修正。通过重复这个过程,逐步改进控制输入,以达到更好的控制效果。 使用Simulink的迭代学习控制器,可以在系统模型未知或具有重复运动特性的情况下,实现精确的控制。此外,Simulink还提供了丰富的工具和功能,用于调试和优化控制器的性能。 因此,迭代学习控制器可以在Simulink中作为一种智能控制方式来应用,通过不断迭代的学习进化,适应到最优的控制方式,并实现高精度的控制性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [迭代学习控制方式Simulink建模与仿真](https://blog.csdn.net/liuzhijun301/article/details/99640160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值