1.list常用的有ArrayList和LinkedList。
list中存入的数据是有序的,可以重复的数据。
ArrayList底层是用数组来实现的,内存空间是连续的。而LInkedList是用链表来实现的,内存空间是不连续的。
ArrayList中访问读取数据速度比较快,但是LInkedList的增删效率上会比ArrayList高一些。
LinkedList操作上比ArrayList多了addFirst和addLast。
2.Set中有HashSet和TreeSet
Set中存入是无序的,不可以重复的数据。
HashSet底层是用哈希表实现的,TreeSet底层是用二叉树实现的。
如果要在HashSet中存放多个对象的时候要求重写equals和HashCode。
TreeSet中可以存放不同的数据类型的数据。
TreeSet中存放对象的时候要求实现Comparable接口,并且重写Compare方法。
3.Map中常用的有HashMap和TreeMap
HashMap底层是用哈希表的Map接口实现的。
HashMap中put方法放入key和value。KeySet返回当中的key值。values返回当中的value值。也可以使用entrySet遍历。
HashMap中的key和value可以为空。
TreeMap底层是用二叉树实现的。
TreeMap要求其中的元素具有可比性。不可以为空。是线程不安全的。
TreeMap中存放对象的时候要求实现Comparable接口,并且重写Compare方法。