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

外贸建站模版株洲定制网站建设

外贸建站模版,株洲定制网站建设,上海网网站建设,百度网站做要多少钱📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 目录 🌤️arraylist的简…

                                                                                            

                                   📑打牌 : da pai ge的个人主页
                                   🌤️个人专栏 : da pai ge的博客专栏
                                  ☁️宝剑锋从磨砺出,梅花香自苦寒来

目录

🌤️arraylist的简单实现

🌤️arraylist的构造

 📑ArrayList常见操作

☁️ArrayList的遍历

☁️ ArrayList的扩容机制


🌤️arraylist的简单实现

public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
// ...
// 默认容量是10
private static final int DEFAULT_CAPACITY = 10;
//...
// 数组:用来存储元素
transient Object[] elementData; // non-private to simplify nested class access
// 有效元素个数
private int size;
public ArrayList(int initialCapacity) {
if (initialCapacity > 0) {
this.elementData = new Object[initialCapacity];
} else if (initialCapacity == 0) {
this.elementData = EMPTY_ELEMENTDATA;
} else {
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
}
}

🌤️arraylist的构造

2

 📑ArrayList常见操作

ArrayList 虽然提供的方法比较多,但是常用方法如下所示,需要用到其他方法时,自行查看 ArrayList 的帮助

☁️ArrayList的遍历

ArrayList 可以使用三方方式遍历: for 循环 + 下标、 foreach 、使用迭代器
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
// 使用下标+for遍历
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + " ");
}
System.out.println();
// 借助foreach遍历
for (Integer integer : list) {
System.out.print(integer + " ");
}
System.out.println();
Iterator<Integer> it = list.listIterator();
while(it.hasNext()){
System.out.print(it.next() + " ");
}
System.out.println();
}

☁️ ArrayList的扩容机制

下面代码有缺陷吗?为什么?
ArrayList 是一个动态类型的顺序表,即:在插入元素的过程中会自动扩容。以下是 ArrayList 源码中扩容方式:
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 100; i++) {
list.add(i);
}
}
Object[] elementData; // 存放元素的空间
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; // 默认空间
private static final int DEFAULT_CAPACITY = 10; // 默认容量大小
public boolean add(E e) {
ensureCapacityInternal(size + 1); // Increments modCount!!
elementData[size++] = e;
return true;
}
private void ensureCapacityInternal(int minCapacity) {
ensureExplicitCapacity(calculateCapacity(elementData, minCapacity));
}
private static int calculateCapacity(Object[] elementData, int minCapacity) {
if (elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA) {
return Math.max(DEFAULT_CAPACITY, minCapacity);
}
return m
1. 检测是否真正需要扩容,如果是调用 grow 准备扩容
2. 预估需要库容的大小
初步预估按照 1.5 倍大小扩容
如果用户所需大小超过预估 1.5 倍大小,则按照用户所需大小扩容
真正扩容之前检测是否能扩容成功,防止太大导致扩容失败
3. 使用 copyOf 进行扩容
http://www.yayakq.cn/news/600933/

相关文章:

  • 云南网站设计联系方式客户关系crm管理系统
  • 网站开发技术期末考试 及答案渠道推广策略
  • 网站开发十大公司工信部网站备案审核
  • 建设个人网站ip网站专业制作公司
  • 如何通过建设网站赚钱电子商务网站开发是什么
  • vs2015网站开发实例网站建设如何创业
  • 阿里巴巴免费做国际网站建协官网
  • 网站域名已经解析但没有被百度等搜索引擎收录怎么办ai可以做网站吗
  • 建瓯市建设局网站自己建设网站平台步骤
  • 深圳网站设计公司在哪里泉州网络白名单
  • 怎样建网站?购物网站app
  • 怎么在百度建网站扬中网站推广报价
  • 网站中文域名怎么做有创意的设计作品
  • 做八闽最好的中学网站2018网站开发最流行的语言
  • 做网站站长先把作息和身体搞好wordpress pdf 打印
  • 不用dw怎么做网站软件开发项目文档怎么写
  • 做内容网站卖网站赚钱吗
  • 上海网站建设q.479185700棒文山州建设局信息网站
  • 做网站公司需要什么职位wordpress 图片拉伸
  • 基于jsp的网站开发的文献c在线编程网站
  • 做网站互联网公司有哪些小广告的胶怎么清理
  • 泉州建行 网站成都展示型网页制作公司
  • 网络空间安全培训机构泉州seo外包平台
  • 扬中网站哪家做得好贵州公司网站建设比选公示
  • 微擎可以做企业网站吗东营建设信息网(东营市住房和城乡
  • html5 微网站布局如何开发一款app软件
  • 提供建站服务的网络公司的比较网站建设 教学设计
  • 电子信息工程论坛seo培训讲师招聘
  • 便捷网站建设费用甜品网站网页设计代码
  • 建南沙做网站公司网站编程设计如何写备注