java.util常用的接口:
Comparator:强行对某个对象集合collection 进行整体排序的比较函数。
List:有序的 collection(也称为序列),允许多个NULL(可以有多个重复元素),可以对列表中每个元素的位置精确地控制。实现了Collection接口。子类:ArrayList,LinkedList,Stack,Vector,
Set:有自己的内部顺序,一个不包含重复元素的 collection,最多允许一个NULL。实现了Collection 接口。子类EnumSet, HashSet,LinkedHashSet, TreeSet
Map:将键映射到值。一个映射不能包含重复的键;每个键最多只能映射到一个值。 EnumMap, HashMap, Hashtable, LinkedHashMap,TreeMap,
Map.Entry:映射项(键-值对)。Map.entrySet 方法返回映射的 collection 视图
java.util常用的类:
Collections:此类完全由在 collection 上进行操作或返回 collection 的静态方法组成,提供了多个操作集合的方法。
ArrayList:集合,有序,实现了list接口(有序列,运行多个null,允许重复元素。),线程不同步
Arrays:包含用来操作数组(比如排序和搜索)的各种方法。
HashSet:集合,无序,实现 Set 接口,允许Null,线程不同步。
LinkedList:List接口的链接列表实现。
ArrayList和LinkedList的大致区别:
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。
HashMap:是 AbstractMap的子类,实现了Map(键-值映射)。允许Null键和NULL值,线程不同步。高效于HashTable,可以用Collections.synchronizedMap来包装,实现线程同步。
Hashtable:是Dictionary的子类,实现了Map(键-值映射)。不允许Null键和NUll值,线程同步。
Calendar:时间抽象类,可获取当前时区的时间 ,提供了多个时间获取的方法。如年、月、日、星期几等。
Date:表示特定的瞬间,精确到毫秒
Formatter:用于格式字符串的解释程序,如时间打印格式。
Properties :继承了HashTable表示了一个持久的属性集。
Random:生成伪随机数
Timer:一般和TimerTask 配合使用,定时调用线程或者只执行一次
UUID :通用唯一标识符 (UUID) 的类。 UUID 表示一个 128 位的值。
Vector :实现了List接口。可以实现可增长的对象数组。
Stack:实现了List接口,继承了Vector,表示后进先出(LIFO)的对象堆栈
Map的底层相当于一个二维数组,set和list底层都是数组。
单向链表是一个节点包含一个数据域一个指针域,指针域指向后继
双向链表是一个节点包含一个数据域两个指针域,两个指针域一个指向前驱一个指向后继,双向链表可以很方便的查找前驱的节点 而单链表就不能很方便查找。