Java集合工具Map、List、Set、Array使用小结

应用过程

Java代码编写过程中。

目的

分析不同场景下不同类、方法的适用性、差异。

场景小结

  1. 需要通过某个id或name取到对应的Object或Entity等,如通过userId取userName。
    用Map类,实例化HashMap就可以。

  2. 需要对键值结构参数进行排序或编码,如对http请求参数进行分析。
    用Map类,实例化TreeMap,具有按照字典排序功能;如果排序功能不满足需要,可以自定义排序方式。(比较器)

  3. 需要按序显示固定列表,如输出查询结果列表。
    用List类,ArrayList。

  4. 需要对列表进行去重,比如计算有多少不重名的文章等。
    用Set类,可直接通过List来转换成Set,去除重复数据,不过Set中的重复比较是基于对象的hashCode来做的。

  5. List和Array比较
    List存取数据多以get、add方法来操作,而Array则以[角标i](类似于属性)的方式来操作,个人推荐优先使用List对象。(相比于一些性能上的微小差异,可维护和安全、方便还更重要一些)

  6. List和Map比较
    用途不一样,Map主要是想通过key找到对应的value,和查字典一样;List就是单纯的一个列表,如果想要查找元素,需要通过遍历的方式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值