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

自建网站访问报错亚马逊网站开发使用的什么方式

自建网站访问报错,亚马逊网站开发使用的什么方式,如何做网站与网页,网站制作开发教程ArrayList 和 LinkedList 分别代表了两类不同的数据结构#xff1a;动态数组和链表。它们都实现了 Java 的 List 接口#xff0c;但是有着各自独特的特点和性能表现。 1. 数据结构 ArrayList 是基于可调整大小的数组实现的。它允许快速随机访问#xff0c;因为内部元素可通…ArrayList 和 LinkedList 分别代表了两类不同的数据结构动态数组和链表。它们都实现了 Java 的 List 接口但是有着各自独特的特点和性能表现。 1. 数据结构 ArrayList 是基于可调整大小的数组实现的。它允许快速随机访问因为内部元素可通过数组索引直接访问。LinkedList 是基于双向链表实现的。链表中的每个元素都包含了对其前一个和后一个元素的引用允许双向遍历。 2. 性能特点 特性/操作ArrayListLinkedList随机访问O(1)O(n)添加元素(一般)O(1) (摊销时间)O(1)在末尾添加元素O(1) (摊销时间)O(1)在中间/开始添加元素O(n)O(1)删除元素(一般)O(n)O(1)内存开销较小 (只存数据)较大 (数据 两个引用) 3. 源码分析 ArrayList 源码关键部分 public class ArrayListE extends AbstractListE implements ListE, RandomAccess, Cloneable, java.io.Serializable {transient Object[] elementData; // 存储数据private void ensureCapacityInternal(int minCapacity) {if (elementData DEFAULTCAPACITY_EMPTY_ELEMENTDATA) {minCapacity Math.max(DEFAULT_CAPACITY, minCapacity);}if (minCapacity - elementData.length 0) {grow(minCapacity);}}private void grow(int minCapacity) {// 扩容逻辑}public E get(int index) {rangeCheck(index);return elementData[index];}public boolean add(E e) {ensureCapacityInternal(size 1); // 确保容量elementData[size] e;return true;}// ...省略其他方法 }ArrayList的核心是一个数组。当添加元素会超过当前数组大小时会触发一个“扩容”操作通常是将数组大小增加到当前大小的1.5倍。 LinkedList 源码关键部分 public class LinkedListE extends AbstractSequentialListE implements ListE, DequeE, Cloneable, java.io.Serializable {transient NodeE first;transient NodeE last;private static class NodeE {E item;NodeE next;NodeE prev;Node(NodeE prev, E element, NodeE next) {this.item element;this.next next;this.prev prev;}}public boolean add(E e) {linkLast(e);return true;}void linkLast(E e) {final NodeE l last;final NodeE newNode new Node(l, e, null);last newNode;if (l null)first newNode;elsel.next newNode;size;modCount;}// ...省略其他方法 }LinkedList中的每个元素都是一个节点对象包含了数据和两个指向其它节点的引用。 4. 代码演示 以下代码展示了ArrayList和LinkedList的基本使用 import java.util.ArrayList; import java.util.LinkedList; import java.util.List;public class ListExample {public static void main(String[] args) {ListString arrayList new ArrayList();ListString linkedList new LinkedList();// 添加元素arrayList.add(Element1);linkedList.add(Element1);// 在列表中间插入元素arrayList.add(0, Element2); // O(n)linkedList.add(0, Element2); // O(1), 只需要改变引用// 获取元素String elementFromArrayList arrayList.get(1); // O(1)String elementFromLinkedList linkedList.get(1); // O(n), 需要从头遍历链表// 删除元素arrayList.remove(0); // O(n)linkedList.remove(0); // O(1), 只需要改变引用} }5. 细节和使用场景 ArrayList 优先选择当需要频繁访问列表中的元素。注意处理扩容操作可能会导致短暂的性能下降。更低的内存占用。 LinkedList 当需要频繁进行添加和删除操作尤其是在列表的开头或中间时可以考虑使用。每个元素占用更多内存因为存储了两个额外的引用。 理解这些区别和细节可以帮助你做出适合你应用场景的数据结构选择。尽管LinkedList在某些操作中有其优势但由于内存使用和大多数操作中的性能影响ArrayList通常是默认首选。只有在特定的、频繁进行插入和删除的场景下LinkedList才是更好的选择。
http://www.pierceye.com/news/235959/

相关文章:

  • 网站轮播怎么做石家庄网站建设规划
  • 免费软件网站下载深圳网站开发哪个公司好
  • 建设项目验收网站公示内网门户网站建设方案
  • 滨海做网站哪家最好宝安附近做网站公司
  • 详情页的五大模块东莞网站优化科技有限公司
  • 南阳建设网站哪家好昆明网站服务
  • 大潮建设集团有限公司 网站网站改版策划方案
  • 网站开发心路历程烟台网站建设薇企汇互联见效付款
  • 企业网站的制作周期wordpress添加数据库表
  • 广告推广营销网站网站买空间的价格
  • 转转假网站怎么做linux建设视频网站
  • 伍佰亿搜索引擎网站系统wordpress 增加备案
  • 韩国做游戏的电影 迅雷下载网站有哪些网络营销方式文献
  • 大学生兼职网站的融资方案龙华网站建设设计制作公司
  • 青之峰网站建设哪家好用什么l软件做网站了
  • 免费建站资源怎么编写app软件
  • 机关网站建设建议云南响应式网站建设
  • 对网站开发语言的统计杭州网站设计公司有哪些
  • 不会代码 怎么做网站兴义网络推广
  • 综合电子商务型企业网站怎么做网站的网盘
  • ucenter使用自己做的网站房地产新闻时事热点
  • 企业网站备案 过户电商运营视频教程
  • 做网站运营这工作怎么样北京网站优化价格
  • 河南专业网站建设网站怎么做高权重
  • 国内大型电子网站建设做网站时怎么透明化
  • 微应用和微网站的区别手机网站开发的目的
  • 网站ico开一个网站建设公司好
  • wordpress中文站cn外贸网站怎么换域名
  • 淘宝客怎么做直播网站吗学校网站建设发展概况分析
  • 广州网站外贸推广建筑师必看的16部纪录片