本文共 750 字,大约阅读时间需要 2 分钟。
挑些有意义的东西翻译,毕竟官方的集合讲的非常的详细
scala的collections在版本2.8之后有一个重要的改变,但也兼容2.8版本之前的大部分集合。2.8版本的集合提供了一个通用的,一致的,并且包含所有集合类型的框架。你在最初的变更中可能感觉不到太明显的变化,但是你会慢慢感受的新collections的易用性,简洁性,安全,快速,通用性。
Easy to use:
20-50个方法能够解决大部分集合问题
Concise
你能用一个单词一次多次循环完成一次预期
Safe
静态类型化以及scala集合的函数特性意味着你能在编译时期捕获绝大多数错误. 原因有三:
集合操作自己非常频繁因此测试很充分
集合的输入输出非常明确。 输入:参数, 输出:返回值
这些输入输出受限于静态类型的校验
Fast:
调整和优化了函数库里的集合操作
Universal:
集合在任何他认为有意义的的地方,在任何type上提供了相同的操作。
如string可以理解成一个字符序列,所有string支持所有序列操作
例子:下面这行展示了新集合的大量优点
1 | val (minors, adults) = people partition ( _ .age < 18 ) |
代码表示 人根据年龄分为 minors-未成年人 和 adults成年人, partition方法被定义在root collection类型TraversableLike中,这段代码可以运行在任何类型的集合中,包括arrays.
新collections, 多核上运行多线程集合会更快。