当前位置: 首页 > news >正文

顺企网浙江网站建设济南网站建设第六网建

顺企网浙江网站建设,济南网站建设第六网建,跳蚤市场网站开发背景,公司电子商务网站建设规划方案本文已收录于#xff1a;https://github.com/danmuking/all-in-one#xff08;持续更新#xff09; 前言 哈喽#xff0c;大家好#xff0c;我是 DanMu。在 Java 开发中#xff0c;集合类对象绝对是被使用最频繁的对象之一。因此#xff0c;深入了解集合类对象的底层数… 本文已收录于https://github.com/danmuking/all-in-one持续更新 前言 哈喽大家好我是 DanMu。在 Java 开发中集合类对象绝对是被使用最频繁的对象之一。因此深入了解集合类对象的底层数据结构和原理选择合适的集合类型能够极大程度上的影响程序的性能。在本文中将先对 Java 中的集合类对象做一个整体的梳理在后续文章中对重要的集合对象进行具体分析。 知识体系 在 Java 的集合体系中由两个主要的根接口Collection 和 Map并再次基础上衍生出若干种不同的集合类型。 Java 集合体系的演变 实际上在 Java 开发之初还没有集合的概念。在 JDK 1.2 之前Java 的标准容器是 Arrays、Vectors和 Hashtables。所有这些集合都没有通用接口。因此它们都作为 Java 存放对象的容器但所有这些集合的实现都是独立定义的彼此之间没有关联。这导致使用者需要单独记忆不同容器的不同方法比如下面这个例子 class CollectionDemo {public static void main(String[] args){// Creating instances of the array,// vector and hashtableint arr[] new int[] { 1, 2, 3, 4 };VectorInteger v new Vector();HashtableInteger, String h new Hashtable();// Adding the elements into the// vectorv.addElement(1);v.addElement(2);// Adding the element into the// hashtableh.put(1, hi);h.put(2, hi);// Array instance creation requires [],// while Vector and hastable require ()// Vector element insertion requires addElement(),// but hashtable element insertion requires put()// Accessing the first element of the// array, vector and hashtableSystem.out.println(arr[0]);System.out.println(v.elementAt(0));System.out.println(h.get(1));// Array elements are accessed using [],// vector elements using elementAt()// and hashtable elements using get()} } 上面这些集合Array、Vector 和 Hashtable没有统一的标准方法我们很难编写适用于所有类型集合的算法。并且大多数 Vector 类都被 final 修饰这意味着不能通过扩展 Vector 类来实现额外的功能。因此在 JDK 1.2 版本中引入了全新设计的集合框架Collection Framework其中原有的方法虽然得到了保留但是大部分已经不被使用。 Collection 容器主要包括 Collection 和 Map 两种Collection 存储着对象的集合而 Map 以Key, Value 的形式存储着键值对(两个对象)的映射表。 List ArrayList 底层基于数组实现在容量不足时可以实现自动扩容并且支持随机访问。 Vector 和 ArrayList 类似但它是线程安全的现在几乎已经废弃。 LinkedList 基于双向链表实现只能顺序访问但是可以快速地在链表中间插入和删除元素。并且 LinkedList 还实现了栈、队列和双向队列的接口。 Queue LinkedList 可以用它来实现双向队列的链表形式实现。 PriorityQueue 优先级队列基于堆结构实现可以用它来实现大/小顶堆。 Set HashSet 基于 HashMap 实现支持快速查找但不支持有序性操作。并且失去了元素的插入顺序信息也就是说使用 Iterator 遍历 HashSet 得到的结果是不确定的。 TreeSet 基于红黑树实现支持有序性操作例如根据一个范围查找元素的操作。但是查找效率不如 HashSetHashSet 查找的时间复杂度为 O(1)TreeSet 则为 O(logN)。 LinkedHashSet 具有 HashSet 的查找效率且内部使用双向链表维护元素的插入顺序。 Map HashMap 基于哈希表实现。 TreeMap 基于红黑树实现。 HashTable 和 HashMap 类似但它是线程安全的但是其性能远远低于 ConcurrentHashMap已经废弃。 LinkedHashMap 使用双向链表来维护元素的顺序顺序为插入顺序或者最近最少使用(LRU)顺序。 ConcurrentHashMap 严格来说ConcurrentHashMap 属于java.util.concurrent中得到实现但是它常常与 HashMap 进行对比因此把它也加入这里。ConcurrentHashMap 具有和 HashMap 相同的功能但是提供了线程安全的实现。 # 点关注不迷路好了以上就是这篇文章的全部内容了如果你能看到这里**非常感谢你的支持**如果你觉得这篇文章写的还不错 求**点赞** 求**关注**❤️ 求**分享** 对暖男我来说真的 **非常有用**白嫖不好创作不易各位的支持和认可就是我创作的最大动力我们下篇文章见如果本篇博客有任何错误请批评指教不胜感激 最后推荐我的**IM项目DiTing**[https://github.com/danmuking/DiTing-Go](https://github.com/danmuking/DiTing-Go)致力于成为一个初学者友好、易于上手的 IM 解决方案希望能给你的学习、面试带来一点帮助如果人才你喜欢给个Star⭐叭
http://www.w-s-a.com/news/599889/

相关文章:

  • 旅行社网站策划做网站编辑好还是美工好
  • 珠海做网站找哪家好在线磁力搜索神器
  • 做网站优化有必要wordpress导航栏字体
  • 中山网站建设半江红沈阳免费网站建站模板
  • 工信部网站备案管理系统网站备案负责人 更换
  • 我要做个网站该怎么做怎么做电商平台网站
  • wordpress教程 网站标题莱芜大众网
  • 网站建设业务终止合作范本主机公园wordpress
  • 口碑好企业网站建设网站建设与什么专业有关
  • 助贷获客系统快速优化排名公司推荐
  • 重庆做网站优化推广的公司企业网站如何进行定位
  • 高密市赏旋网站设计有限公司山东广饶县建设局网站
  • 成都哪里有网站开发公司网业分离是什么
  • 购物导购网站开发女孩学建筑学好找工作吗
  • 做网站沈阳掌握夏邑进入公众号
  • 怎么做自动提卡网站谷歌推广怎么做
  • 大同网站建设熊掌号wordpress 首页单页
  • 青岛网站美工成都优秀网站建设
  • 聊城大型门户网站建设多版本wordpress
  • 建网站的公司 快云wordpress的搜索
  • 贷款网站模版东莞网站建设哪家专业
  • 做做网站已更新878网站正在建设中
  • dz旅游网站模板网站上做百度广告赚钱么
  • 青岛外贸假发网站建设seo优化名词解释
  • 四川建设厅网站施工员证查询网站建设行业政策
  • 网站全站出售dw怎么设计网页
  • 合肥网站建设方案服务网站建设推荐郑国华
  • 襄阳网站建设需要多少钱台州网站设计公司网站
  • 东莞专业拍摄做网站照片如何在百度上发布自己的广告
  • 网站建设费 科目做网站建设最好学什么