简述集合中collection 和map的分类和区别

1-collection元素是单列的,map是以键值对存在。
2-collection可以分为两类list和set;
    list是有序的可重复的,允许存在空值,且允许存在多个空值。list可以分为两类:ArrayList和LinkedList.
        ArrayList 是基于数组实现的,简单来说就是和数组很像,同时解决了数组的有一些缺点。他也是有序有下标,与数组不同的是,普通的数组删除一个元素后,需要手动将后面的元素移动到,不过在ArrayList 中不需要手动移动数据,系统底层回来做这个事情。而且在ArrayList 不需要设置数组长度,你可以无限地往里面放数据,放多少它的length就是多少。适用于经常查找不经常变动的情况。(一般常用)
        LinkedLIst是链式存储的list结构,在其中每个元素不光存储了数据还存储了上一个和下一个数据的位置,这样在新增和删除的时候不需要前后挪动。没有下标,故而适用于经常变动不经常查找的情况。
    Set是无序且不可重复的,没有下标,允许存在null值,且只允许存在一个。分为:hashset和treeset

          treeset里面的元素是有序地存放,但是没有有序的下标。
3-Map分为hashmap和hashtable。但一般使用的是hashmap

简述集合中collection 和map的分类和区别