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

电商网站运营怎么做星沙做淘宝店铺网站

电商网站运营怎么做,星沙做淘宝店铺网站,个人网站可以做品牌推广,做网站的公司现在还 赚钱吗6本文已收录于:https://github.com/danmuking/all-in-one(持续更新) 前言 哈喽,大家好,我是 DanMu。在 Java 开发中,集合类对象绝对是被使用最频繁的对象之一。因此,深入了解集合类对象的底层数…

本文已收录于: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 };Vector<Integer> v = new Vector();Hashtable<Integer, 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

基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 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.yayakq.cn/news/274878/

相关文章:

  • dw网站指向邮箱超链接怎么做学校网站建设背景
  • 东莞网站建设 汇卓网页图片文字识别
  • 美发企业网站建设价格智慧团建如何在手机上登录
  • WordPress仿站助手西安造价信息网官网
  • 如何开网站详细步骤图凡科手机建站教程
  • 济南网站建设兼职wordpress google cdn
  • 网站建设报价 下载购买云服务器
  • 有没有网站教做美食的手机做网站价格
  • 亦庄网站建设价格手机直播软件
  • 网站的线下推广怎么做郴州新网交友信息
  • 我国网站建设现状公司注册代理中介
  • 网站建设趣味解读女孩学网站开发与运营方向怎么样
  • 当阳网站建设电话wordpress红帽
  • 企业网站功能模块壹伴公众号编辑器
  • 通州手机网站建设做一家算命的网站
  • 郑州做食用菌配送的网站网站开发方式哪四种
  • 上海松江区网站建设免费自学网
  • 中国站长之家官网深圳网站制作公司平台
  • 建站公司推荐首推万维科技虚拟机如何做网站
  • 企业网站建设后期维护费用临安建设投标网站
  • 任务网站开发网页制作官方网站
  • 如何把视频放到自己的网站郑州市造价信息网官网
  • 建站大师系统更新后wordpress
  • 免费网站大全宁波网站建设方案咨询
  • wordpress建小说站收费如何开发游戏软件
  • wordpress站点描述手机网站开发用什么语言
  • 找第三方做网站 需要注意拖拽式网站建设
  • mcmore商城网站开发任县网站建设网络公司
  • 如何优化网站提高排名seo基础知识培训
  • 深圳建设造价信息网站中职计算机专业主要学什么