Java有关集合方面的知识小总结

提前声明一下,这篇博客只是本人将大脑中对集合的一些理解写了下来,期间并没有去翻阅任何资料,如有不对的地方,还请指正与谅解。

从大的方面说,集合分为两块:

1、List与Set为一块

List又分为以下两种:

ArrayList查询快,增删慢数据库的查询结果的接收一般都是用的ArrayList。

LinkedList:底层使用的是链表结构,增删快,查询慢一般应用于session、cookie版的购物车

 

Set则分为以下三种:

HashSet:速度快,值不可重复、无序,元素可以为空。后台权限菜单的数据可以用HashSet进行存储。

TreeSet:值不可重复、无序,会自动进行排序

LinkedHashSet:值不可重复、无序,比较普通,插入时是怎样就怎样

 

2、Map为一块

HashMap:速度快

TreeMap:根据键进行排序

LinkedHashMap:比较普通,插入时是怎样就怎样

以上还涉及到的一些面试问题:

  • Array与ArrayList的区别?
  • ArrayList与LinkedList有什么区别?
  • Collection的remove()方法与iterator的remove()方法有什么区别?

1、从结构上看,Array比ArrayList少4个字母

      从使用上看,Array初始必须要指定长度与类型,而ArrayList则可以无需指定这两项

2、这个就不多写了,上面有。

3、前者的remove方法需要填入参数,后者的remove方法无参数;

     使用前者对集合进行删除操作时,可能会报错,而使用后者则不会报错,但是需要配合next()方法进行使用

猜你喜欢

转载自blog.csdn.net/qq_41097820/article/details/88851911