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

天马网络网站uniapp跳转内部页面

天马网络网站,uniapp跳转内部页面,wordpress文章的分享,沈阳网站的建设在Java中,ArrayList 是一个动态数组实现,能够根据需要自动调整其大小。与传统的数组不同,ArrayList 不需要预先指定大小,并且提供了许多方便的方法来操作集合中的元素。下面将详细介绍如何使用 ArrayList 进行数组的扩展&#xff…

在Java中,ArrayList 是一个动态数组实现,能够根据需要自动调整其大小。与传统的数组不同,ArrayList 不需要预先指定大小,并且提供了许多方便的方法来操作集合中的元素。下面将详细介绍如何使用 ArrayList 进行数组的扩展,包括基本用法、常见操作以及一些最佳实践。

 1. 基本概念

 数组(Array):在Java中,数组的大小是固定的,一旦创建就无法更改其大小。如果需要存储更多元素,必须创建一个更大的新数组,并将原数组的元素复制到新数组中。

 ArrayList:ArrayList 是 List 接口的一个实现类,底层使用数组来存储元素。它可以根据需要自动调整大小,提供了动态数组的功能。

 2. 导入必要的包

在使用 ArrayList 之前,需要导入

import java.util.ArrayList;

3. 创建 ArrayList

3.1 使用泛型创建 ArrayList

使用泛型可以指定 ArrayList 中存储的对象类型,这有助于在编译时进行类型检查,避免运行时出现 ClassCastException。

// 创建一个存储 String 类型的 ArrayList
ArrayList<String> arrayList = new ArrayList<>();// 创建一个存储 Integer 类型的 ArrayList,初始容量为 10
ArrayList<Integer> numbers = new ArrayList<>(10);

3.2 不使用泛型创建 ArrayList

如果不使用泛型,ArrayList 将存储 Object 类型的元素,这可能导致类型安全问题。

ArrayList arrayList = new ArrayList();
arrayList.add("Hello");
arrayList.add(123); // 存储不同类型的元素

4. 数组扩展的实现

使用 ArrayList 进行数组扩展非常简单,因为 ArrayList 会自动处理数组大小的调整。以下是一些常见的操作:

4.1 添加元素

ArrayList<String> arrayList = new ArrayList<>();// 添加单个元素
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Cherry");// 在指定位置添加元素
arrayList.add(1, "Blueberry"); // 在索引 1 处添加 "Blueberry"

4.2 移除元素

// 移除指定元素
arrayList.remove("Banana");// 移除指定索引的元素
arrayList.remove(0); // 移除索引 0 处的元素

 4.3 获取元素

String firstElement = arrayList.get(0); // 获取索引 0 处的元素

4.4 遍历 ArrayList
4.4.1 使用增强的 for 循环

for (String fruit : arrayList) {System.out.println(fruit);
}

4.4.2 使用迭代器

Iterator<String> iterator = arrayList.iterator();
while (iterator.hasNext()) {String fruit = iterator.next();System.out.println(fruit);
}

4.4.3 使用 forEach 和 Lambda 表达式

arrayList.forEach(fruit -> System.out.println(fruit))

4.5 查找元素

// 检查元素是否存在
boolean containsApple = arrayList.contains("Apple");// 获取元素的索引
int indexOfApple = arrayList.indexOf("Apple");

4.6 获取大小

int size = arrayList.size();
System.out.println("ArrayList 大小: " + size);

4.7 清空 ArrayList

arrayList.clear();

5. 内部实现原理

ArrayList 内部使用一个数组来存储元素。当添加元素导致数组容量不足时,ArrayList 会自动扩展其容量:

1. 初始容量:ArrayList 的默认初始容量为 10。

2. 扩容机制:当添加元素超过当前容量时,ArrayList 会创建一个新的数组,其大小为原数组的 1.5 倍(具体实现可能因Java版本而异),然后将原数组的元素复制到新数组中。

3. 性能考虑:频繁的扩容操作可能会影响性能,特别是在添加大量元素时。因此,如果预先知道需要存储的元素数量,可以在创建 ArrayList 时指定一个合适的初始容量。

// 指定初始容量为 100
ArrayList<String> arrayList = new ArrayList<>(100);

6. 示例代码

import java.util.ArrayList;
import java.util.Iterator;public class ArrayListExample {public static void main(String[] args) {// 创建一个 ArrayListArrayList<String> fruits = new ArrayList<>();// 添加元素fruits.add("Apple");fruits.add("Banana");fruits.add("Cherry");fruits.add("Date");System.out.println("初始 ArrayList: " + fruits);// 在指定位置添加元素fruits.add(2, "Blueberry");System.out.println("添加 Blueberry 后: " + fruits);// 移除元素fruits.remove("Banana");System.out.println("移除 Banana 后: " + fruits);// 移除指定索引的元素fruits.remove(0);System.out.println("移除索引 0 处的元素后: " + fruits);// 获取元素String firstFruit = fruits.get(0);System.out.println("第一个水果: " + firstFruit);// 查找元素boolean hasApple = fruits.contains("Apple");System.out.println("包含 Apple: " + hasApple);// 获取大小int size = fruits.size();System.out.println("ArrayList 大小: " + size);// 遍历 ArrayListSystem.out.println("遍历 ArrayList:");for (String fruit : fruits) {System.out.println(fruit);}// 使用迭代器遍历System.out.println("使用迭代器遍历:");Iterator<String> iterator = fruits.iterator();while (iterator.hasNext()) {String fruit = iterator.next();System.out.println(fruit);}// 清空 ArrayListfruits.clear();System.out.println("清空后的 ArrayList: " + fruits);}
}

输出:

初始 ArrayList: [Apple, Banana, Cherry, Date]

添加 Blueberry 后: [Apple, Banana, Blueberry, Cherry, Date]

移除 Banana 后: [Apple, Blueberry, Cherry, Date]

移除索引 0 处的元素后: [Blueberry, Cherry, Date]

第一个水果: Blueberry

包含 Apple: false

ArrayList 大小: 3

遍历 ArrayList:

Blueberry

Cherry

Date

使用迭代器遍历:

Blueberry

Cherry

Date

清空后的 ArrayList: []

 7. 常见问题

 7.1 ArrayList 与 LinkedList 的区别

 内部实现:ArrayList 使用数组实现,而 LinkedList 使用双向链表实现。

 访问速度:ArrayList 在随机访问元素时性能更好,而 LinkedList 在频繁插入和删除元素时性能更优。

 内存开销:ArrayList 的内存开销较低,而 LinkedList 需要额外的指针存储前驱和后继节点。

 7.2 ArrayList 与普通数组的区别

 大小可变:ArrayList 可以动态调整大小,而普通数组大小固定。

 方法丰富:ArrayList 提供了许多方便的方法,如 add, remove, contains, indexOf 等。

 泛型支持:ArrayList 支持泛型,提供编译时类型检查。

 8. 总结

ArrayList 是Java中非常常用的集合类,提供了动态数组的功能。通过使用 ArrayList,可以简化数组操作,提高代码的可维护性和灵活性。在选择使用 ArrayList 还是普通数组时,应根据具体需求权衡:

 如果需要频繁添加或删除元素,推荐使用 ArrayList。

 如果对性能有严格要求,且元素数量固定,可以使用普通数组。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

相关文章:

  • 服务器网站建设流程图网站建设开发心得
  • 深圳实力网站建设wordpress扫码付费
  • 企业网站推广方案在哪里软件工作室网站模板
  • 全国做网站最好的公司有哪些梦想小镇旅游官方网站建设
  • 唯品会一家做特卖的网站清远新闻最新
  • 苏州建设网站教程徐州列表网
  • 边坝网站制作现在注册公司需要什么条件
  • 什么类型的公司需要做建设网站的杭州10大软件开发公司
  • 淘宝联盟自建网站教程wordpress 首页重定向
  • 西安微信商城网站设计国外家居设计网站
  • 做网站要做相应的app吗新媒体运营需要哪些技能
  • 南昌网站建设方案外包北京做网站哪家公司好
  • 淘宝客做网站推广浅谈高校门户网站建设的规范标准
  • 企业建站用什么软件西宁电商网站制作公司
  • 常熟网站建设icp备案太仓企业网站建设
  • 用vue做网站圣辉友联北京网站建设公司
  • 建设网站要备案吗微信小程序开发实战课后答案
  • 直播网站是怎么做的福步外贸论坛怎么注册账号
  • 网站 平均加载时间无锡微信手机网站制作
  • 哪些网站可以做花店推广黑龙江网站建设seo优化
  • 网站收索功能怎么做怎样浏览被国内封禁的网站
  • 云主机 多个网站网站建设拓客有什么方法
  • 高级网站开发工信部北京顺义去哪找做网站的
  • 便宜的自助建站中国住房和城乡建设厅网站
  • 网站标题在哪里设置敬请期待英文翻译
  • php做网站难吗一家专门做特卖的网站是什么
  • 抚顺做网站c 可以做哪些网站
  • 点击网络网站移动网站开发服务
  • 网站设计与程序方向专业哈尔滨建设网站制作
  • 中国移动网站建设情况分析wordpress to phonegap