ArrayList
        是第一个泛型数据结构(generic structure)
        所谓泛型数据结构就是指可以用来保存其他不同类型对象值的数据结构

停止单词(stop word)
        Google之类搜索引擎处理用户提交的查询时,会忽略关键字中的停止单词,原因在于  这些单词出现频率很高,针对这些单词建立索引没有意义。
   
包装类
        一种用于将基本类型的数据“封装”成为对象的类。
        例如:
                基本类型            包装类
                  int                Integer
                  double            Double
                  char              Character
                  boolean            Boolean
        why:
        ArrayList<E>中的E可以被替换成为任何对象或引用类型(例如类名),但是
    基本类型(如:int double char boolean)却不能作为ArrayList的类型参数,因此
    Java定义了一系列包装类(wrapper class)用于将基本类型的数据转化为对象。

装箱(boxing)
        将基本类型的数据自动转化为对应类型的包装类对象(例如:int会被装箱为Integer)   的过程。

拆箱(unboxing)
        将包装类对象自动转化为对应的基本类型数据(例如:Integer会被拆箱为int)的过程。
       
compareTo方法没有规定返回值必须是-1 0 1 原因:
        Java本身并没有一个只包含三个不同值的类型;
                Sun的解决方案是:将正数和负数当作两种不同值的规则,0是另外的一个值。 表示了三种不同的含义。
        它使很多比较的任务更容易完成;
        出于效率方面的考虑,放宽限制可以使程序员写出更好更高效率的compareTo方法。