java.util
包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)
--接口
--Collection<E> [Collection层次结构中的根接口。]
--Comparator<T> [强行对某个对象collection进行整体排序的比较函数。参数T-可比较的对象类型。实现其compare(T o1,T o2)有一个约定,就是 a.compare(b) == 0 和a.equals(b)要有相同的boolean结果。Comparable和Comparator都是用来实现集合中的排序的,只是Comparable是在集合内部定义的方法实现排序,而Comparator是在集合外部实现的排序。]
--Deque<E> [一个线性 collection,支持在两端插入和移除元素。名称 deque 是“double ended queue(双端队列)”的缩写。使用有限制的双端队列的时候,增加元素时offer()优于add(),add无法插入时只能抛出一个异常。peek()获取,但不移除此双端队列所表示的队列的头部(换句话说,此双端队列的第一个元素);如果此双端队列为空,则返回 null。]
--Enumeration<E> [实现 Enumeration 接口的对象,它生成一系列元素,一次生成一个。连续调用 nextElement 方法将返回一系列的连续元素。这些方法主要通过向量的元素、哈希表的键以及哈希表中的值进行枚举。枚举也用于将输入流指定到 SequenceInputStream 中。Iterator 接口可完全代替它,建议优先考虑Iterator 接口。]
--EventListener [所有事件侦听器接口必须扩展的标记接口,里面什么东西都木有0.0]
--Formattable [formatTo(Formatter formatter,int flags,int width,intprecision)使用提供的格式器来格式化对象。参数:formatter - 格式器。实现类可以调用 formatter.out() 或 formatter.locale(),以获得分别由此 formatter 使用的 Appendable 或 Locale。flags - 这些标志将修改输出格式。该值被解释为位掩码(bitmask)。可以将以下标志的组合设置为:FormattableFlags.LEFT_JUSTIFY、FormattableFlags.UPPERCASE 和 FormattableFlags.ALTERNATE。如果没有设置标志,则应用实现类的默认格式。width - 写入到输出的最少字符数。如果转换值的长度小于 width,那么输出将用 ' ' 来填充,直到总字符数等于 width。默认情况下,从开始处进行填充。如果设置了 FormattableFlags.LEFT_JUSTIFY 标志,则从结尾处进行填充。如果 width 为 -1,则不存在最少字符数。precision - 写入到输出的最多字符数。precision 应用在 width 之前,因此,即使 width 大于 precision,输出也将被截断为 precision 字符。如果 precision 为 -1,那么对于字符的数量没有明显限制。]
--Iterator<E> [对 collection 进行迭代的迭代器。]
--List<E>
--ListIterator<E> [系列表迭代器,允许程序员按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。ListIterator 没有当前元素;它的光标位置 始终位于调用 previous() 所返回的元素和调用 next() 所返回的元素之间。长度为 n 的列表的迭代器有 n+1 个可能的指针位置。注意,remove()和 set(Object) 方法不是根据光标位置定义的;它们是根据对调用 next()或 previous()所返回的最后一个元素的操作定义的。]
--Map<K,V> [某些映射实现可明确保证其顺序,如 TreeMap 类;另一些映射实现则不保证顺序,如 HashMap 类。]
--Map.Entry<K,V> [映射项(键-值对)。Map.entrySet 方法返回映射的 collection 视图,其中的元素属于此类。]
--NavigableMap<K,V> [扩展的 SortedMap,具有了针对给定搜索目标返回最接近匹配项的导航方法。方法 lowerEntry、floorEntry、ceilingEntry 和 higherEntry 分别返回与小于、小于等于、大于等于、大于给定键的键关联的最大/最小键 Map.Entry 对象,如果不存在这样的键,则返回 null。类似地,方法 lowerKey、floorKey、ceilingKey 和 higherKey 只返回关联的键。所有这些方法是为查找条目而不是遍历条目而设计的。]
--NavigableSet<E> [扩展的 SortedSet,具有了为给定搜索目标报告最接近匹配项的导航方法。其他的,参考上一个接口。]
--Observer [一个可在观察者要得到 observable 对象更改通知时可实现 Observer 接口的类。]
--Queue<E>
--RandomAccess [List 实现所使用的标记接口,用来表明其支持快速(通常是固定时间)随机访问]
--Set<E> [一个不包含重复元素的 collection]
--SortedMap<K,V> [进一步提供关于键的总体排序 的 Map。该映射是根据其键的自然顺序进行排序的,或者根据通常在创建有序映射时提供的 Comparator 进行排序。]
--SortedSet<E> [进一步提供关于元素的总体排序 的 Set]
--类
若此实现非同步(即非线程安全),又要防止对映射进行意外的非同步访问,最好在对象创建时使用Collections.synchronizedMap方法来“包装”。如:Map m = Collections.synchronizedXXX(new HashMap(...));
--ArrayList [此实现不是同步的,所以建议在多线程中选择Vector。如果多个线程同时访问一个 ArrayList 实例,而其中至少一个线程从结构上修改了列表,那么它必须保持外部同步。这一般通过对自然封装该列表的对象进行同步操作来完成。如果不存在这样的对象,则应该使用 Collections.synchronizedList 方法将该列表“包装”起来。这最好在创建时完成,以防止意外对列表进行不同步的访问: List list =Collections.synchronizedList(new ArrayList(...));]
--Collections [此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。查找一下LMS中的指定元素、根据比较器或者自然顺序给出最大最小元素等很多的方法。]
--Calendar [是一个抽象类,提供了一个类方法getInstance来获得此类型的一个通用对象,其日历字段已由当前日期和时间初始化:Calendar rightNow = Calendar.getInstance();。set/getTime()设置、返回一个表示此Calendar时间值的Date对象。]
--Date [after/before(Date when)测试次日起是否在指定日期之前/之后;clone()返回此对象的副本;compareTo(Date anotherDate)比较两个日期的顺序;equals(Objecr obj)比较两个日期的相等性;set/getTime()设置/返回自1970-1-1-00:00:00GMT到现在的毫秒数;toString() 把此 Date 对象转换为以下形式的 String:dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。除此之外,其他方法都已过时,都可用Calendar类中的相应方法取代。]
--HashMap<K,V> [此实现不是同步的。HashMap 的实例有两个参数影响其性能:初始容量和加载因子。容量是哈希表中桶的数量,初始容量只是哈希表在创建时的容量。加载因子是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前容量的乘积时,则要对该哈希表进行 rehash 操作(即重建内部数据结构),从而哈希表将具有大约两倍的桶数。 ]
--HashSet<E> [此实现不是同步的。此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持]
--Hashtable<K,V> [与HashMap的区别就是它是同步的,其他的没有什么差异0.0]
--LinkedHashMap<K,V> [此实现不是同步的。它保留插入的顺序,如果需要输出的顺序和输入时的相同,那么就选用它。]
--LinkedList<E> [此实现不是同步的。List 接口的链接列表实现。实现所有可选的列表操作,除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列。]
--Locale [Locale对象表示了特定的地理、政治和文化地区。]
--PriorityQueue<E> [此实现不是同步的。一个基于优先级堆的无界优先级队列。优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 Comparator 进行排序,具体取决于所使用的构造方法。]
--Stack<E> [后进先出的对象堆栈。Deque接口及其实现提供了LIFO堆栈操作的更完整和更一致的set,应该优先使用此set,而非此类。如:Deque<Integer> stack = newArrayDeque<Integer>();]
-- StringTokenizer [StringTokenizer是一个用来分隔String的应用类,相当于VB的split函数。]
--TreeMap<K,V> [此实现不是同步的。适用于按自然顺序或自定义顺序遍历key,比HashMap慢,建议在需要排序时使用。]
--TreeSet<E> [此实现不是同步的。基于 TreeMap 的 NavigableSet 实现。使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使用的构造方法。 ]
--Vector<E> [Vector 类可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。这个是实现了同步的,有syn 字段修饰哦0.0]
--WeakHashMap<K,V> [以弱键 实现的基于哈希表的 Map。在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条目。更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为可终止的,被终止,然后被回收。丢弃某个键时,其条目从映射中有效地移除]
通用实现类 | |||||
接口 |
哈希表 |
可变数组 |
树 |
链表List |
哈希表+链表 |
Set |
HashSet |
|
TreeSet |
|
LinkedHashSet |
List |
|
ArrayList |
|
LinkedList |
|
Queue |
|
|
|
|
|
Map |
HashMap |
|
TreeMap |
|
LinkedHashMap |