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

1 篇文章 0 订阅
1 篇文章 0 订阅

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

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

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()方法进行使用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值