不像reduce操作,每处理一个元素就会产生一个新值,collect方法只更新已有的值。
还是假设要求背包的平均重量,你需要哪些值?总重量和总个数。你可以新建一个数据类型包含并追踪这两个变量。
class Averager implements IntConsumer
{
private int total = 0;
private int count = 0;
...
分类:
编程语言 时间:
2014-09-11 12:36:31
阅读次数:
312
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。本文由ImportNew网站的黄小非翻译自winterbe。原文作者Benjamin是Pondus软件公司的总工程师,原文内容如下。...
分类:
编程语言 时间:
2014-09-11 05:34:01
阅读次数:
466
你使用集合的目的是什么?当然不是为了简单的存储然后置之不理,你是为了从集合取数据和操作数据的。
再次考虑前一篇文章提到的背包类,
如果要打印所有背包的重量,
for(Package p : packages)
System.out.println(p.getWeight());
遍历,可以使用"forEach"这一聚集操作,
packages.stream()...
分类:
编程语言 时间:
2014-09-11 01:14:51
阅读次数:
278
自己闲着无聊写的,当然有些描述不是十分准确,毕竟一句话不能表达太多意思。委托:把方法当做参数进行传递。泛型:在类、方法中对使用的类型参数化。匿名方法:委托及调用委托的简化版。Lambda表达式:匿名方法的进一步进化。扩展方法:给现有类添加新的方法。LINQ: 将SQL方式的查询从数据库扩展到其它方面...
分类:
其他好文 时间:
2014-09-11 01:07:01
阅读次数:
190
1:程序执行是有顺序的,如果没有流程控制语句,执行顺序是从上到下,2:对象没有引用指向他的时候,jvm虚拟机就会在合适的时候去清理内存垃圾3:对象的引用就相当于方向盘,操作对象4:java8大基本数据类型:byte short int long , char ,boolean , float do....
分类:
编程语言 时间:
2014-09-10 23:48:31
阅读次数:
223
你可以Lambda表达式去创建匿名的方法。但很多时候,这份方法可能是已经存在的,这时你可以使用函数引用。这样能够使代码结构更清晰。
我们知道,贪心算法里面,一个常见的步骤是排序。假设有下面的背包类:
class Package{
private int weight;
// ignore setter and getter
}
我们有个背包数组 Package[] ...
分类:
编程语言 时间:
2014-09-10 22:31:21
阅读次数:
239
Java 8发布有一段日子, 大家关注Java 8中的lambda可能更早, 对Java 8中这一最重要的语言变化也基本熟悉了。这篇文章将深入研究Java 8中的lambda特性以及Stream接口等, 讨论一些深层次的技术细节。
比如, 一个lambda表达式序列化反序列化后, 对捕获的上下文变量的引用的情况。 Lambda表达式递归。 类方法的引用和实例方法的引用的区别。 菱形继承的问题。 Stream接口的Lazy和eager模式。 Lambda的性能。...
分类:
编程语言 时间:
2014-09-10 14:17:50
阅读次数:
410
这是对oracle分区技术的初了解,还有对oracle分区技术的深入后面更新。...
分类:
数据库 时间:
2014-09-09 18:19:09
阅读次数:
306
O/X Mapper 是什么? ? Spring 3.0 的一个新特性是 O/X Mapper。O/X 映射器这个概念并不新鲜,O 代表 Object,X 代表 XML。它的目的是在 Java 对象(几乎总是一个 plain old Java object,或简写为 POJO)和 ...
分类:
编程语言 时间:
2014-09-09 16:23:59
阅读次数:
398
【唠叨】CCDeprecated.h中存放的都是2.x将要被抛弃的命名规范,主要包含类名、枚举类型。虽然说2.x的这些命名规范被CCDeprecated.h保留了。但是为了彻底学习3.x的新特性,就必须要尽量不要使用2.x的命名规范。有些变更其实已经在:cocos2dx[3.x](3)——大巨变3.x中做了详细的说..
分类:
其他好文 时间:
2014-09-09 13:41:39
阅读次数:
209