结构图一楼给出来了,
联系:list是可重复的有顺序的;set是不重复的无序的;map中的key是不重复的,value是和key一一对应的。
区别:
1. ArrayList是用动态数组实现的,有数组随机访问的优点,但插入和删除操作过多时效率低;LinkedList是用双向链表实现的,插入和删除操作效率高,但随机访问数据不如ArrayList速度快。
2. HashSet是用散列实现的,TreeSet是用红黑树(基于二叉平衡树的变种)实现的,
TreeSet是有序的(这可能与数学中纯粹的集合概念不一致,但似乎这世上本就没有纯粹的东西吧),所以放入TreeSet中的对象必须是可比较的,即实现Compareble接口。
3. HashMap和TreeMap,与HashSet、TreeSet类似。
参考图片吧 常用的就是这几个,其他的很少会用到。
具体可以参考资料