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

排序字符串的迭代器

薛承志
2023-03-14
问题内容

我有一个字符串迭代器。

为了进行排序,我需要从中创建一个列表并使用对其进行排序Collections.sort(list)

有没有简单的方法可以对迭代器进行排序。


问题答案:

迭代器不是容器,它是遍历容器元素的实用程序。因此,如果您仅有权访问迭代器,则无法更改此迭代器的创建者定义的迭代顺序。

如果您不能更改原始容器,则必须将迭代器传递的元素收集到新的Collection中,并在其中进行排序。

(了解迭代器可能的一种好方法是查看JDK类的源代码或实现自己的迭代器)



 类似资料:
  • 我试图找到给定字符串的排列,但我想使用迭代。我在网上找到的递归解决方案,我确实理解它,但是将其转换为迭代解决方案真的行不通。下面我附上了我的代码。我真的很感激你的帮助:

  • 问题内容: 我正在尝试查找给定字符串的排列,但是我想使用迭代。我在网上找到了递归解决方案,但我确实理解它,但是将其转换为迭代解决方案实际上是行不通的。下面附上我的代码。我非常感谢您的帮助: 问题答案: 在我的相关问题评论之后,这是一个Java实现,可以使用Counting QuickPerm Algorithm 来完成您想要的事情:

  • 我阅读了这个简单而优雅的python解决方案,用于查找给定字符串的所有排列。它是递归的。基于此,我尝试用python实现一个迭代解决方案。 下面是我的代码。但它只适用于3个字符串:(试图了解递归基本情况条件和递归条件如何转化为迭代(非递归)任何指针将有助于获得迭代解决方案的工作。(基于此算法或任何其他算法)

  • 问题内容: 更新: 在2006年python.org上提出了使内置字符串不可迭代的想法。我的问题有所不同,因为我试图偶尔仅抑制一次此功能。整个线程还是很相关的。 这是Guido的批判性评论,他们在试用的基础上实施了不可重复的操作: […]我实现了这一点(这确实很简单),但是后来发现我不得不修复大量遍历字符串的地方。例如: sre解析器和编译器使用set(“ 0123456789”)之类的东西,并且

  • 问题内容: 我有一列varchar类型,可存储许多不同的数字。例如说有3行:17.95、199.95和139.95。如何在mysql中将该字段作为数字排序 问题答案: 使用CAST或CONVERT函数。

  • 问题 你有一系列排序序列,想将它们合并后得到一个排序序列并在上面迭代遍历。 解决方案 heapq.merge() 函数可以帮你解决这个问题。比如: >>> import heapq >>> a = [1, 4, 7, 10] >>> b = [2, 5, 6, 11] >>> for c in heapq.merge(a, b): ... print(c) ... 1 2 4 5 6 7