当前位置: 首页 > 面试题库 >

我们可以用Java编写自己的迭代器吗?

通远
2023-03-14
问题内容

如果我有一个包含的列表,[alice, bob, abigail, charlie]并且想编写一个迭代器,以便对以’a’开头的元素进行迭代,那么我可以编写自己的迭代器吗?我怎样才能做到这一点 ?


问题答案:

当然。迭代器只是java.util.Iterator接口的实现。如果您使用中的现有可迭代对象(例如LinkedListjava.util,则需要对其进行子类化并覆盖其iterator功能,以便返回自己的对象,或者提供一种在特殊Iterator实例中包装标准迭代器的方法(具有被更广泛使用的优势)等。



 类似资料:
  • 本文向大家介绍我们可以在Java中使用throw语句后编写任何代码吗?,包括了我们可以在Java中使用throw语句后编写任何代码吗?的使用技巧和注意事项,需要的朋友参考一下 不,我们不能在throw 语句后放置任何代码,这会导致编译时错误Unreachable Statement。 Java中的Throw关键字 的关键字throw用于手动抛出异常。 每当需要根据用户定义的逻辑错误或条件挂起功能执

  • 我试图为自己的泛型类编写自己的迭代器。我一直在看几个YouTube教程,在网上搜索。 IntelliJ指出的问题是,我不能像我试图的那样在迭代器类中使用getleft和getright,因为非静态方法不能从静态上下文中引用。我一直在研究静态和更多,但无法解决这个问题。我是完全走错了路,还是至少我的方法有点接近? 运行时: 我遇到了一个无休止的循环,打印5。因此,迭代器本身可以工作,但我的方法有一个

  • 对于简单的定制操作,我们或许可以通过使用layers.core.Lambda层来完成。但对于任何具有可训练权重的定制层,你应该自己来实现。 这里是一个Keras层应该具有的框架结构(1.1.3以后的版本,如果你的版本更旧请升级),要定制自己的层,你需要实现下面三个方法 build(input_shape):这是定义权重的方法,可训练的权应该在这里被加入列表`self.trainable_weigh

  • 对于简单的定制操作,我们或许可以通过使用layers.core.Lambda层来完成。但对于任何具有可训练权重的定制层,你应该自己来实现。 这里是一个Keras2的层应该具有的框架结构(如果你的版本更旧请升级),要定制自己的层,你需要实现下面三个方法 build(input_shape):这是定义权重的方法,可训练的权应该在这里被加入列表`self.trainable_weights中。其他的属性

  • 问题内容: 我在网上看过Java教程,它们似乎都与捕获其他已编写组件给出的ActionEvent有关。是否有可能编写自己的对象,而这些对象具有一组自己的条件,这些条件会触发actionEvents,然后可以由已注册为侦听器的其他类捕获该actionEvents? 因此,例如:如果我希望一个对羊计数的对象在已注册为侦听器的所有睡眠者对象上计数了100只羊后发送一个actionEvent。 有没有办法

  • The Python Imaging Library uses a plug-in model which allows you to add your own decoders to the library, without any changes to the library itself. Such plug-ins usually have names like XxxImagePlugi