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

江苏安宜建设工程有限公司网站建云购网站

江苏安宜建设工程有限公司网站,建云购网站,网站开发研究内容怎么写,医院网站优化策划目录 七、ArrayList 类 7.1 位置 7.2 特点 7.3 构造方法 7.4 常用方法 7.5 代码举例 7.6 详解 ArrayList 的扩容机制 七、ArrayList 类 7.1 位置 ArrayList 类位于 java.util 包下 7.2 特点 是 List 接口的实现类底层是用一个 Object 数组来存储数据 7.3 构造方法 …

目录

七、ArrayList 类

7.1 位置

7.2 特点

7.3 构造方法

7.4 常用方法

7.5 代码举例

7.6 详解 ArrayList 的扩容机制


七、ArrayList 类

7.1 位置

ArrayList 类位于 java.util 包下

7.2 特点

  1. 是 List 接口的实现类
  2. 底层是用一个 Object 数组来存储数据

7.3 构造方法

public ArrayList()

作用

创建一个空的 ArrayList 对象,初始容量为 0

public ArrayList(int initialCapacity)

作用

创建一个指定初始容量的 ArrayList 对象

public ArrayList(Collection<? extends E> c)

作用

创建一个包含指定集合 c 的 ArrayList 对象

7.4 常用方法

参考 List 接口

List接口

7.5 代码举例

import java.util.ArrayList;
import java.util.Objects;class Student{private int id;private String name;public Student(int id,String name) {this.name = name;this.id = id;}@Overridepublic String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +'}';}// 使用 ArrayList 类存储自定义类时,要重写 equals() 方法// 来确保 contains() 方法和 remove() 方法的正确执行@Overridepublic boolean equals(Object o) {if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return id == student.id && Objects.equals(name, student.name);}
}public class Test03 {public static void main(String[] args) {ArrayList arrayList = new ArrayList();Student student = new Student(1,"张三");Student student2 = new Student(2,"李四");Student student3 = new Student(3,"王五");Student student4 = new Student(4,"小明");Student student5 = new Student(5,"小红");//添加元素arrayList.add(student);arrayList.add(student2);arrayList.add(student3);arrayList.add(student4);arrayList.add(student5);//遍历元素System.out.println("-------------初始遍历-------------");for (Object object : arrayList) {System.out.println(object);}//删除元素//相当于 arrayList.remove(1);//相当于 arrayList.remove(student2);       //没有重写 equals() 方法,这样是可以删除的arrayList.remove(new Student(2,"李四"));      //若没有重写 equals() 方法,这样是删除不了的System.out.println("-------------删除元素后遍历-------------");for (Object object : arrayList) {System.out.println(object);}//替换元素System.out.println("-------------替换元素-------------");Student student6 = new Student(6,"梨花");Object set = arrayList.set(0, student6);System.out.println("替换前的元素为:" + set);//获取指定索引位置的元素Object object = arrayList.get(0);System.out.println("替换后的元素为:" + object);//获取集合的元素个数System.out.println("-------------集合的元素个数-------------");int size = arrayList.size();System.out.println(size);}
}

7.6 详解 ArrayList 的扩容机制

import java.util.ArrayList;
import java.util.Arrays;public class MyJiHe<E> {transient Object[] elementData;private int size;protected transient int modCount = 0;private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};private static final int DEFAULT_CAPACITY = 10;private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;public MyJiHe() {this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA;}public boolean add(E e) {ensureCapacityInternal(size + 1);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 minCapacity;}private void ensureExplicitCapacity(int minCapacity) {modCount++;if (minCapacity - elementData.length > 0)grow(minCapacity);}private void grow(int minCapacity) {int oldCapacity = elementData.length;int newCapacity = oldCapacity + (oldCapacity >> 1);if (newCapacity - minCapacity < 0)newCapacity = minCapacity;if (newCapacity - MAX_ARRAY_SIZE > 0)newCapacity = hugeCapacity(minCapacity);elementData = Arrays.copyOf(elementData, newCapacity);}private static int hugeCapacity(int minCapacity) {if (minCapacity < 0)throw new OutOfMemoryError();return (minCapacity > MAX_ARRAY_SIZE) ?Integer.MAX_VALUE :MAX_ARRAY_SIZE;}
}


http://www.yayakq.cn/news/760130/

相关文章:

  • 怎么做网站版面wordpress 会员充值
  • 网站建设报告总结松岗网站开发
  • 怎样做网站才不能被攻破后台模板链接前台网站
  • 橱柜网站模板抖音生活服务旅行社ota入驻
  • 网站掉排名网站建设推销话术案例
  • 找人做个网站需要多少钱工作单位一般填写什么
  • 哈尔滨市网站建设四川德充建设集团有限公司网站
  • 个人主页网站制作免费wordpress自用主题
  • 深圳有名的网站设计公司营销型集团网站建设
  • 骨干校 建设网站苏州虎丘区建设局网站
  • 网站制作代码网站开发转包协议
  • 虹口区建设工程管理网站如何自助建站
  • 搭建网站 开源软件it运维工程师证书
  • 免费的logo设计青岛关键词优化seo
  • 无经验做网站网络运营者应当按照网络安全等级保护制度的要求
  • 建筑公司做网站买空间多大合适韩国网站免费模板
  • 电脑手机网站首页小程序开发平台源代码下载
  • 网页建站分为几个类型网址如何被快速收录
  • 网站建设任职要求百度快照
  • 网站的验证码怎么做找个做网站的
  • 红色文化网站建设网赌怎么推广拉客户
  • 网站seo案例培训前端网站开发
  • 在网站建设工作会议上的讲话全网自助下单最便宜
  • 怎样用云服务器做网站如何加入广告联盟赚钱
  • 北京南站是中高风险地区吗wordpress高级设置
  • 什么叫网站流量财经最新消息今天
  • 网站开发Z亿玛酷1订制做网站尺寸
  • 郑州网站开发招聘房产行业微网站建设
  • 建设网站中存在的问题私密浏览器免费版在线看视频
  • 网站基本建设投资内容专业网站制作公司四川