便利性(Convenience): 你可能需要由Java平台提供的那些实现之外的附加便利实现。例如,你可能经常需要一个代表单独键-值映射的不变 Map 对象、或代表一个连续的整数局域的 List 对象或者其他什么东西。       
![]() 
    ![]() 
    ![]() 
        ![]() 
                                                    ![]() 
        ![]() 
    ![]() 
    ![]()
    适配器(Adapter): 假设你正在使用某些有着自己非凡的collectioon API 的早期API。你可以编写一个适配器(adapter) 实现,它使那些 对象集 可以在 Java Collections Framework 上进行操作。一个适配器实现是一个薄的虚饰板,它可以包装一个类型的对象,并使其表现得象另一个类型的对象。这是通过将后一类型的操作转化到前一类型的结果。 
 如何编写一个定制实现 
 借助Java平台上的抽象实现(abstract implementations) 来编写定制实现出奇地简单。抽象实现是 核心 对象集 接口 的骨干实现,它明显地是为便于定制实现的编写而设计的。我们以一个例子开始,以下是一个  Arrays.asList的实现: 
 public static List asList(Object[] a) {
 return new ArrayList(a);
 } 
PRivate static class ArrayList extends AbstractList
 implements java.io.Serializable
 {
 private Object[] a;