如何选择集合实现类

如何选择集合实现类

如何选择集合实现类

一、先判断存储的类型

二、如果是单列的:Collection接口

​ 2.1允许重复:List

​ 增删多:LinkedList(底层维护了一个双向链表)

​ 改查多:ArrayList(底层维护了Object类型的可变数组)

​ 2.2不允许重复:Set

​ 无序: HashSet(底层HashMap,维护了一个哈希表,即(数组+链表+红黑树))

​ 排序:TreeSet

​ 插入和取出顺序一致:LinkedHashSet,维护了数组+双向链表

三、如果是双列的(键值对):Map

​ 健无序:HashMap(底层哈希表, jdk7:数组+链表,jdk8:数组+链表+红黑树)

​ 健排序:TreeMap

​ 插入和取出顺序一致:LinkedHashMap

​ 读取文件:Properties

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115176.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C51单片机LCD1602驱动程序

    C51单片机LCD1602驱动程序C51单片机LCD1602驱动程序LCD1602简介1602的引脚操作时序写操作时序时序参数LCD1602关键性操作一、初始化二、清屏指令二、进入模式设置指令三、显示开关控制指令四、功能设定指令RAM地址映射图LCD1602简介LCD1602字符型液晶(每行显示16个字符,一共可以显示两行)——一种专门用来显示字母、数字、符号的点阵型液晶模块。它由若干个57或者510的点阵字符组成,每个点阵字符位都可以用来显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此

    2022年7月16日
    13
  • PowerDesigner工具简介

    PowerDesigner工具简介

    2021年7月21日
    116
  • mybaties 错误[通俗易懂]

    mybaties 错误[通俗易懂]先看下错误org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound):com.sinofaith.idaplus.goodsitem.mapping.GoodslowInfoPOMapper.selectByPrimaryKeyatorg.apache.ibatis.bindin

    2025年6月1日
    0
  • SpringBoot——解决Cache缓存同类中调用失败问题「建议收藏」

    SpringBoot——解决Cache缓存同类中调用失败问题「建议收藏」SpringBoot——解决Cache缓存同类中调用失败问题

    2022年4月23日
    32
  • python pyqt5安装(pyqt5官方文档中文版)

    Eric6的安装经过前两篇的介绍(Python和PyQt5的安装),本偏开始介绍Eric6的安装:PyQt5教程(一)——Python的安装PyQt5教程(二)——PyQt5的安装PyQt5教程(四)——安装所需的命令介绍1、Eric6简介:Eric6是一个全功能的Python开发IDE,…

    2022年4月16日
    411
  • java.net.DatagramSocket

    java.net.DatagramSocket此类表示用于发送和接收数据报包的套接字。数据报套接字是分组传送服务的发送或接收点。在数据报套接字上发送或接收的每个数据包都是单独寻址和路由的。从一台机器发送到另一台机器的多个分组可以被不同地路由,并且可以以任何顺序到达。在可能的情况下,新构造DatagramSocket的SO_BROADCAST插座选项已启用,以便允许广播数据报的传输。为了接收广播数据包,应将DatagramSocket绑…

    2022年5月20日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号