java api之实现(下)

http://tech.ddvip.com   2006年11月23日    社区交流

本文详细介绍java api之实现(下)

  List l = new ArrayList(Collections.nCopies(1000, null));

  当然,每个元素的初始值不必是空。第二个主要用途是增长一个现存 List。例如,假设你要将串 fruit bat 的69个拷贝添加到一个 List 的末尾。不知道你为什么要这样做,我们只假设你是要这样做。下面是你应采用的做法:

  lovablePets.addAll(Collections.nCopies(69, "fruit bat"));

  通过使用 addAll(同时采用索引和一个 Collection作参数), 你可以将新的元素添加到一个 List 的中间,而不是末尾。

  不可变单元素Set(Immutable Singleton Set)

  有时你需要一个不可变的单元素 Set, 它由一个单一的特定元素所构成。Collections.singleton 方法可返回这样一个 Set。这个实现的一个用途是以下这个惯用程序所表达的,它从一个 Collection中删除了一个特定元素的所有具体值:

  c.removeAll(Collections.singleton(e));

  有一个相关的惯用程序,它从一个 Map 中删除映射一个特定值的所有元素。例如,假设你有一个称为 profession 的 Map ,他将人与他们所从事的工作相映射。假使你要删除所有的律师,下面的程序可以完成这件事:

  profession.values().removeAll(Collections.singleton(LAWYER));

  这个实现的另一个用途是为接受Collection的方法提供一个单一输入值。

  空Set和空List常数

  Collections 类提供两个常数,用以表示空 Set 和空 List, 它们是Collections.EMPTY_SET和Collections.EMPTY_LIST。 不清楚这两个常数作为实现是否真的有资格,但本课程似乎是提及它们的最合适的地方。这两个常数的主要用途是在你不想提供任何值时,将它们传给需要Collection型参数的方法

责编:豆豆技术应用

正在加载评论...