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

手机网站营销方法企业网站每个月流量费

手机网站营销方法,企业网站每个月流量费,秦皇岛市住房和城乡建设局官网,网站建设以推广转载自 Java中的List你真的会用吗 List是Java中比较常用的集合类#xff0c;关于List接口有很多实现类#xff0c;本文就来简单介绍下其中几个重点的实现ArrayList、LinkedList和Vector之间的关系和区别。 List List 是一个接口#xff0c;它继承于Collection的接口。它…转载自  Java中的List你真的会用吗 List是Java中比较常用的集合类关于List接口有很多实现类本文就来简单介绍下其中几个重点的实现ArrayList、LinkedList和Vector之间的关系和区别。 List List 是一个接口它继承于Collection的接口。它代表着有序的队列。当我们讨论List的时候一般都和Set作比较。 List中元素可以重复并且是有序的这里的有序指的是按照放入的顺序进行存储。如按照顺序把123存入List那么从List中遍历出来的顺序也是123。 Set中的元素不可以重复并且是无序的从set中遍历出来的数据和放入顺序没有关系。 下面是Java中的集合类的关系图。从中可以大致了解集合类之间的关系 ArrayList、 LinkedList 和 Vector之间的区别 从上图可以看出ArrayList、 LinkedList 和 Vector都实现了List接口是List的三种实现所以在用法上非常相似。他们之间的主要区别体现在不同操作的性能上。后面会详细分析。 ArrayList ArrayList底层是用数组实现的可以认为ArrayList是一个可改变大小的数组。随着越来越多的元素被添加到ArrayList中其规模是动态增加的。 LinkedList LinkedList底层是通过双向链表实现的。所以LinkedList和ArrayList之前的区别主要就是数组和链表的区别。 数组中查询和赋值比较快因为可以直接通过数组下标访问指定位置。 链表中删除和增加比较快因为可以直接通过修改链表的指针Java中并无指针这里可以简单理解为指针。其实是通过Node节点中的变量指定进行元素的增删。 所以LinkedList和ArrayList相比增删的速度较快。但是查询和修改值的速度较慢。同时LinkedList还实现了Queue接口所以他还提供了offer(), peek(), poll()等方法。 Vector Vector和ArrayList一样都是通过数组实现的但是Vector是线程安全的。和ArrayList相比其中的很多方法都通过同步synchronized处理来保证线程安全。 如果你的程序不涉及到线程安全问题那么使用ArrayList是更好的选择因为Vector使用synchronized必然会影响效率。 二者之间还有一个区别就是扩容策略不一样。在List被第一次创建的时候会有一个初始大小随着不断向List中增加元素当List认为容量不够的时候就会进行扩容。Vector缺省情况下自动增长原来一倍的数组长度ArrayList增长原来的50%。 ArrayList 和 LinkedList的性能对比 使用以下代码对ArrayList和LinkedList中的几种主要操作所用时间进行对比 ArrayListInteger arrayList  new ArrayListInteger(); LinkedListInteger linkedList  new LinkedListInteger();// ArrayList add long startTime  System.nanoTime();for (int i  0; i  100000; i) {arrayList.add(i); } long endTime  System.nanoTime(); long duration  endTime - startTime; System.out.println(ArrayList add:    duration);// LinkedList add startTime  System.nanoTime();for (int i  0; i  100000; i) {linkedList.add(i); } endTime  System.nanoTime(); duration  endTime - startTime; System.out.println(LinkedList add:   duration);// ArrayList get startTime  System.nanoTime();for (int i  0; i  10000; i) {arrayList.get(i); } endTime  System.nanoTime(); duration  endTime - startTime; System.out.println(ArrayList get:    duration);// LinkedList get startTime  System.nanoTime();for (int i  0; i  10000; i) {linkedList.get(i); } endTime  System.nanoTime(); duration  endTime - startTime; System.out.println(LinkedList get:   duration);// ArrayList remove startTime  System.nanoTime();for (int i  9999; i 0; i--) {arrayList.remove(i); } endTime  System.nanoTime(); duration  endTime - startTime; System.out.println(ArrayList remove:    duration);// LinkedList remove startTime  System.nanoTime();for (int i  9999; i 0; i--) {linkedList.remove(i); } endTime  System.nanoTime(); duration  endTime - startTime; System.out.println(LinkedList remove:   duration);结果 ArrayList add:  13265642 LinkedList add: 9550057 ArrayList get:  1543352 LinkedList get: 85085551 ArrayList remove:  199961301 LinkedList remove: 85768810他们的表现的差异是显而易见的。在添加和删除操作上LinkedList更快,但在查询速度较慢。 如何选择 如果涉及到多线程那么就选择Vector当然你也可以使用ArrayList并自己实现同步。 如果不涉及到多线程就从LinkedList、ArrayList中选。 LinkedList更适合从中间插入或者删除链表的特性。 ArrayList更适合检索和在末尾插入或删除数组的特性。
http://www.yutouwan.com/news/450830/

相关文章:

  • 网站导出链接查询赣州网红打卡旅游景点
  • 网站响应式和电脑手机网页界面设计体会
  • 交通运输局网站建设方案手表网站app推荐
  • 网站配置服务Wordpress营销型网站建设的认识
  • 网站开发应该注意什么广东省农业农村厅彭彬
  • 做产品推广的网站有哪些外贸网站怎么做谷歌搜索
  • 用旧电脑做服务器建网站用网站域名 空间申请表
  • wordpress程序覆盖seo关键词优化排名公司
  • 网站建设平台哪个公司好网页设计三剑客
  • 小学英语教师做应用相关网站成都市建筑设计研究院
  • 虚拟主机网站建设过程本科自考
  • 网站开发与维护视频wordpress插件上传图片
  • zencart网站注册是哪个文件php 搭建手机网站
  • 网站建设关键要做好哪些wordpress 预览插件
  • 哈尔滨市建设安全监察网站2023年的新闻十条
  • 江门网站制作套餐上海关键词优化公司哪家好
  • 太原网站排名以客为尊手机网站cms有哪些
  • 百度站长反馈中心给钱做任务的网站
  • 淘宝联盟怎么做自己的网站网络营销案例最新
  • 佛山网站建设企业报价做网站建设公司crm在线
  • 东莞市官网网站建设平台零基础编程入门自学
  • 昌吉北京网站建设做原创的网站
  • 设计网站手机app客户端商城建设网站策划
  • 廊坊百度推广网站设计济南建设网站制作
  • 陕西手机网站建设想自己做衣服上哪个网站学
  • 手机交互网站做网站的工具
  • 漯河市源汇区建设局网站淄博高端网站
  • 网站实施过程网络规划设计师第二版pdf百度云
  • 查询网站是否备案网站开发一般用哪种语言
  • 做打折的淘宝小卖家的网站北京国企网站建设