草庐IT

Prompt工程之迭代

全部标签

Java 日期迭代器工厂,具有指定如何计算间隔的规则

我正在寻找一个Java类,我可以在其中指定一组日期规则,例如“每3个星期日”和“每两个月的第一个星期一”。我希望能够从中得到类似无限迭代器的东西(.next()将返回与规则集匹配的下一个日期)。我想我可以自己构建它-但日历很麻烦,而且感觉类似的东西应该已经存在了。我讨厌自己重新发明一个更糟糕的轮子。有人知道这样的事情吗?我一直在研究JODA,它似乎为它奠定了基础,但似乎没有提供我想要的全部功能.. 最佳答案 我认为没有现成的joda-time迭代器或JavaCalendarAPI就此而言,但是对于joda,它是如此简单,您应该使用它

java - 如何使用 LoadingCache 将递归转换为迭代?

我完全重写了这个问题,因为原来的问题无法解决。为了简单起见,我使用斐波那契数列作为玩具示例。trivialrecursivecachedcomputation正如预期的那样,以非常长的堆栈跟踪结束。这就是为什么我想要一个像IterativeLoadingCache这样的抽象类,我可以扩展为here通过类似的东西@OverrideprotectedIntegercomputeNonRecursivelly(Integerkey){finalIntegerx1=getOrEnqueue(key-1);finalIntegerx2=getOrEnqueue(key-2);if(x1==nul

java - HashMap:以随机顺序迭代键值对

我有一个HashMap,我想在每次获得迭代器时以不同的随机顺序迭代它们的键值对。从概念上讲,我想在调用迭代器之前“打乱”map(或者,如果需要,“打乱”迭代器)。我有两个选择:1)使用LinkedHashMap的方法并在内部保留条目列表,将其就地打乱并在调用迭代器时返回该View。2)采用map.entrySet(),构造一个ArrayList并在其上使用shuffle()。虽然这两种方法看起来与我非常相似,但我期待非常大的HashMap,所以我真的很关心细节和内部结构,因为我真的不能浪费内存或计算。 最佳答案 重新洗牌一个大的集合

java - 什么设置JVM参数MaxNewSize的值?人体工程学?

我的服务器信息:中央处理器:英特尔至强E5-2630内存:65970676K操作系统:Centos6.4内核:3.8.0jdk:热点JDK1.6.0.27我使用jmap-heappid打印堆信息:HeapConfiguration:MinHeapFreeRatio=40MaxHeapFreeRatio=70MaxHeapSize=21474836480(20480.0MB)NewSize=21757952(20.75MB)MaxNewSize=174456832OldSize=65404928(62.375MB)NewRatio=7SurvivorRatio=8PermSize=268

java - 将列表迭代器传递给 Java 中的多个线程

我有一个包含大约20万个元素的列表。我是否可以将此列表的迭代器传递给多个线程并让它们遍历整个批处理,而不需要它们中的任何一个访问相同的元素?这就是我此刻的想法。主要内容:publicstaticvoidmain(String[]args){//Imaginethislisthasthe200,000elements.ArrayListlist=newArrayList();//Gettheiteratorforthelist.Iteratori=list.iterator();//CreateMyThread,passingintheiteratorforthelist.MyThrea

Java - 使用列表迭代器返回对链表中特定位置的引用

我有一个Portfolio类,它也有Investment类的链表(例如-Google是Investment的一个实例),每项投资都有一个交易历史(另一个链表),其中包含每笔交易的数据。当用户想要进行交易(以5K的价格购买谷歌股票)时,我需要查找投资(在谷歌中)是否已经存在于investmentsList中。如果没有-添加新投资(并为其交易历史添加交易),如果有-只需添加另一个链接到谷歌的tradeHistory链表。问题-我需要findInvestment方法从investmentList返回对google(投资实例)的引用,这样我就可以更新它的交易历史。该方法返回一个listIter

java - for 循环每 800 万次迭代暂停一次 - 为什么?

当我在Intellij上运行以下代码并输入1000000000000时,该过程每800万次循环保持一次。为什么会这样?为什么不能顺利运行到最后?importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);System.out.println("Pleasetypeanumber");longn=in.nextLong();System.out.println("Thanks.");longcount=0;for(longi=0;i

java - Eclipse 插件或开源工具,用于对时序图的 Java 代码进行逆向工程

我正在寻找一个eclipse插件或开源工具来对序列图进行逆向工程。我尝试使用AltoUML,但它只是给出了所选类的序列图。我想要一个包含方法、输入参数和输出参数的整个调用堆栈的序列图。你能告诉我一些这方面的建议吗?谢谢! 最佳答案 Architexa确实有整个调用堆栈的序列图和方法。您会发现,与典型的UML工具不同,Architexa更加以代码为中心,因此更适合逆向工程。-Vineet(Architexa创始人) 关于java-Eclipse插件或开源工具,用于对时序图的Java代码进行

java - 在 Java 中声明迭代器

我对Java中的迭代器很困惑。教程是这样读的:IntheJavaprogramminglanguage,aninterfaceisareferencetype,similartoaclass,thatcancontainonlyconstants,methodsignatures,andnestedtypes.Therearenomethodbodies.Interfacescannotbeinstantiated—theycanonlybeimplementedbyclassesorextendedbyotherinterfaces.Extensionisdiscussedlater

java - 创建自定义迭代器 Java?

我对如何在Java中为类实现自定义迭代器感到有点困惑。我需要在不使用我已经可用的内置库的情况下制作一个ArrayList。我了解创建类的基础知识,但我无法理解如何让Iterator适应所有这些。我有以下内容:我创建了一个实现可迭代接口(interface)的通用类,它看起来像这样:publicclassMyArrayListimplementsIterable{然后我必须创建一个名为MyIterator的类,根据文档的措辞,它是一个独立的类。这看起来相当简单我创建了一个名为MyIterator的新类并让它实现迭代器接口(interface)所以它看起来像这样:publicclassMy