13-1ArrayList集合

本文介绍了一个使用ArrayList集合的示例程序,演示了如何添加元素、遍历集合以及处理索引越界异常。通过非泛型方式实现,适用于初学者了解基本集合操作。
使用ArrayList集合,对其添加100个不同的元素: 
1.使用add()方法将元素添加到ArrayList集合对象中; 
2.调用集合的iterator()方法获得Iterator对象,并调用Iterator的hasNext()和next()方法,迭代的读取集合中的每个元素; 
3.调用get()方法先后读取索引位置为50和102的元素,要求使用try-catch结构处理下标越界异常; 
要求: 

1. 使用非泛型版的集合。本课程按照大纲要求讲授非泛型版的集合框架。 

import java.util.*;
public class jihe {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		 ArrayList array = new ArrayList();
	        System.out.println("添加ArrayList中的所有元素:");//添加100个不同的元素
	        for(int i=1;i<=100;i++){
	            array.add(i);
	        }
	        Iterator it = array.iterator();//Iterator 迭代数组
	        while(it.hasNext()){
	            System.out.println(it.next()); }

	        try {
	            System.out.println("调用get()读取索引位置为50:");   
	            System.out.println(array.get(50));
	            System.out.println("调用get()读取索引位置为102:");   
	            System.out.println(array.get(102));
	            }
	          catch (IndexOutOfBoundsException e) { 
	                System.out.println("下标越界异常");
	            }

	}

}


### Java ArrayList 集合使用示例 以下是关于 `ArrayList` 的一些典型应用场景和具体使用的代码示例: #### 1. 创建并初始化 `ArrayList` 可以创建一个泛型化的 `ArrayList` 来存储特定类型的对象。通过指定类型参数,能够避免运行时的类型转换错误。 ```java // 定义一个字符串类型的ArrayList ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("Python"); System.out.println(languages); // 输出: [Java, Python] ``` 上述代码展示了如何定义一个存储字符串的 `ArrayList` 并向其中添加元素[^2]。 #### 2. 访问和修改元素 利用索引来访问或更新列表中的某个元素是非常常见的操作。 ```java // 修改第一个元素为"C++" languages.set(0, "C++"); // 获取第二个元素 String secondLanguage = languages.get(1); System.out.println(secondLanguage); // 输出: Python ``` 此部分说明了如何通过索引获取或者替换已有的元素[^1]。 #### 3. 删除元素 当不再需要某些数据项时,可以从 `ArrayList` 中移除它们。 ```java // 移除第三个元素(如果存在) if (languages.size() >= 3) { languages.remove(2); } // 清空整个列表 languages.clear(); ``` 这里解释了删除指定位置上的项目以及清空全部项目的两种方式[^4]。 #### 4. 遍历 `ArrayList` 有多种方法来遍历 `ArrayList` 中的所有成员,比如传统的 `for` 循环、增强版 `for-each` 和迭代器模式等。 ```java // 使用传统for循环打印所有语言名称 for(int i=0;i<languages.size();i++) { System.out.print(languages.get(i)+" "); } System.out.println(); // 使用foreach简化语法结构 for(String lang : languages){ System.out.print(lang+" "); } System.out.println(); // 利用Iterator接口实现更灵活控制流程逻辑 Iterator<String> iterator = languages.iterator(); while(iterator.hasNext()){ String item = iterator.next(); if(item.equals("Java")){ continue; } System.out.print(item+","); } ``` 这段脚本提供了三种不同的遍历手段供开发者选择适用场合[^3]。 #### 性能考量与最佳实践 尽管 `ArrayList` 提供了许多便利的功能,但在实际应用过程中还需要注意其潜在缺陷,例如线程安全性不足等问题,在多线程环境下可能引发竞态条件;另外初始容量设定不当也可能影响性能表现等等。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值