【java – 迭代执行命令列表 – 哪个模式?】教程文章相关的互联网学习教程文章

迭代器VS ArrayList.addAll()与JAVA中的克隆方法【代码】

我的问题是基于ArrayList.addAll()方法不创建新对象但将相同对象附加到ArrayList的假设. 因此,为了添加所有对象但也有新对象,则必须进行构造. 例如,假设BooClass类使用深层副本实现Cloneable接口,我们有:ArrayList<BooClass> foo1 = new ArrayList<BooClass>(); for (int i = 0; i < 10; i++) foo1.add(new BooClass());ArrayList<BooClass> foo2 = new ArrayList<BooClass>();然后,如果有人想将foo1的所有元素添加到foo2作为新对...

java – Spark toLocalIterator和迭代器方法之间的区别【代码】

在编写Spark程序时,我遇到了这个toLocalIterator()方法.正如早些时候我只使用iterator()方法. 如果有人曾经使用过这种方法,请扔一些灯. 我在Spark程序中使用foreach和foreachPartition方法时遇到过. 我可以将foreach方法结果传递给toLocalIterator方法或反之亦然.toLocalIterator() -> foreachPartition() iterator() -> foreach()解决方法:首先,不应该调用RDD中的迭代器方法.正如您可以在[Javadocs](https://spark.apache.org/doc...

Java 8 Stream:迭代,处理和计数【代码】

以这种方式处理和统计处理数据是否可以?long count = userDao.findApprovedWithoutData().parallelStream().filter(u -> {Data d = dataDao.findInfoByEmail(u.getEmail());boolean ret = false;if (d != null) {String result = "";result += getFieldValue(d::getName, ". \n");result += getFieldValue(d::getOrganization, ". \n");result += getFieldValue(d::getAddress, ". \n");if(!result.isEmpty()) {u.setData(d.getIn...

使用Java8将数组迭代转换为lambda函数【代码】

我想转换为Lambda函数 到目前为止,我能够将上面的代码转换为lambda函数,如下所示Stream.of(acceptedDetails, rejectedDetails) .filter(list -> !isNull(list) && list.length > 0) .forEach(new Consumer<Object>() {public void accept(Object acceptedOrRejected) {String id;if(acceptedOrRejected instanceof EmployeeValidationAccepted) {id = ((EmployeeValidationAccepted) acceptedOrRejected).getId();} else {id = ((E...

java – 如何迭代嵌套列表【代码】

嗨,我有一个hibernate查询,它给我一个类型为List< List< integer>>的列表.我怎么能迭代这个?我的hibernate查询是:String SQL_QUERY = "select DISTINCT cbl.franchiseId,cbl.resellerId from CustomerBusinessLocation cbl where cbl.cmcustLocId in (:locationId)";Query query = getSession().createQuery(SQL_QUERY); query.setParameterList("locationId", customerLocId);List<List<Integer>> rc_list = query.list();或者,...

java – 为什么System.nanoTime()在迭代开始时不正确?【代码】

我注意到了System.nanoTime()的模式.每当我开始迭代时,nanoTime()在几圈内变得非常不正确,直到它最终稳定下来. 例如,如果我运行以下代码:public class TimeTest{public static void main(String[] args) {long prev = System.nanoTime();for(int i = 0; i < 10; i++) {for(int j = 0; j < 1000000; j++);long time = System.nanoTime();System.out.println(time - prev);prev = time;}} }我得到以下结果: 为了消除Sys??tem.out.p...

浅谈java中for循环与iterator迭代的区别

记录的存取方式有两种:一种是顺序存储,另一种是链接存储对于顺序存储的记录可以根据其下标找到对应的记录,而链接存储(拿单链表为例)则必须找到其前一个记录的位置才能够找到本记录。所以for循环便于访问顺序存储的记录,比如数组等而迭代则更适用于链接存储的记录,虽然Java中有些底层通过链接存储原理实现的集合也可以通过下标获取指定的记录,但是其每次都必须从链表头开始查找记录,这样会影响查找的效率以上为本人的理解。。...

Java中是否有一个可接受的最佳实践,用于在迭代列表时删除列表元素?【代码】

我发现在执行此操作时避免出现ConcurrentModificationException的最佳方法存在冲突的建议:List<Apple> Apples = appleCart.getApples();for (Apple apple : Apples){delete(apple);}我倾向于使用Iterator代替List并调用其remove方法. 这在这里最有意义吗?解决方法:是的,使用迭代器.然后你可以使用它的remove方法.for (Iterator<Apple> appleIterator = Apples.iterator(); appleIterator.hasNext();) {Apple apple = appleIterat...

Java – 没有泛型的Idiot-Proof迭代的API设计【代码】

当您为代码库设计API时,您希望它易于使用,并且难以使用.理想情况下,你希望它是白痴证明. 您可能还希望使其与无法处理泛型的旧系统兼容,例如.Net 1.1和Java 1.4.但是你不希望从较新的代码中使用它会很麻烦. 我想知道以一种类型安全的方式使事物易于迭代的最佳方法…记住你不能使用泛型,所以Java的Iterable< T>就像.Net的IEnumerable< T>一样. 您希望人们能够在Java中使用增强的for循环(对于Item i:items),以及.Net中的foreach / Fo...

Java迭代与递归【代码】

任何人都可以解释为什么下面的递归方法比迭代方法更快(两者都在进行字符串连接)?是不是迭代的方法想要打败递归的?加上每个递归调用在堆栈顶部添加一个新层,这可能是非常低效的空间.private static void string_concat(StringBuilder sb, int count){if(count >= 9999) return;string_concat(sb.append(count), count+1);}public static void main(String [] arg){long s = System.currentTimeMillis();StringBuilder sb = new St...

Java 8合并迭代器中的映射【代码】

我有一个迭代错误,在每次迭代中我都在创建一个新的地图Map<String, List<String>>现在我想在每次迭代中将最后发出的映射与新映射合并. 如果我将项目列表发送到getMap{"a","a","b"}我希望收到一张地图["a",{"foo:a", "foo:a"}, "b",{"foo:b"}]我尝试使用reduce函数,但因为putall仅在我使用multimap而不是map时才有效,不是一个好的选择. 在这里我的代码public Map<String, List<String>> getMap(List<String> items){return items()....

java – 使用参数化流跟踪迭代【代码】

这段代码:Kid[] kids = Kid.getSimpleArray(); String names = Stream.of(kids).filter(Kid::hasToy).map(Kid::getSurname).collect(Collectors.joining(", ")); out.println(names);给我这个结果: St?pień,Inglot,Czubwna,Lepiej,?agowska 而我正在考虑一个解决方案,使它像这样: 1.St?pień,2.Inglot,3.Czubwna,4.Lepiej,5.?agowska P.S我想不出一个更好的问题来得到我正在寻找的答案.解决方法:请注意,这真的很难看,而不是我应...

如何加载文件并使用Java 8进行迭代?【代码】

我知道这是一个简单的问题.但是我可以谷歌更多地找到答案但你的答案可以给出不同的想法.我试图理解Java 8中引入的新功能.作为其中的一部分,我编写了一些代码来读取目录中的文件并将它们放在InputStream的List中.如何使用Java 8简化以下代码?File[] gred_files = gred_directory.listFiles();List<InputStream> gredInputStreamList = new ArrayList<InputStream>();for(File gred_file: gred_files) { if(gred_file.isFile()) {In...

Java之什么是迭代器

Java之什么是迭代器 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:MyEclipse10,java 作者: 刘东标 撰写时间:2019-07-24 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ package com.ldb.dao; import java.util.Iterator; import java.util.LinkedList; import java.util.List; public class Bean3 { /** * 迭代器(Iterator)是一个对象,它的...

java – 从迭代器创建的CompletableFuture流不是懒惰评估的【代码】

我对如何以及何时完成可完成的期货感到苦苦挣扎.我创建了这个测试用例:import org.junit.Test;import java.util.Arrays; import java.util.Iterator; import java.util.Spliterator; import java.util.Spliterators; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.stream.Stream; import java.util.stream.StreamSupport;public class StreamOfCompletableF...