1、编写应用程序,在其main方法中定义以下两个字符串数组: String mpgStr[]={"1.jpg","2.jpg","3.jpg","4.jpg","5.jpg"}; String pngStr[]={"1.png","2.png","3.png","4.png","5.png"}; 然后将他们的每个元素间隔添加到ArrayList对象中,并在命令行界面显示所有元素;然后将ArrayList对象中所有.png的元素都删除,再显示ArrayList对象中的所有元素。 2、按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后再向List中 位置为第四位插入数 35看看会有啥结果?再向List中插入字符串“ddy”,试猜想排序是否会出错?然后看看运行结果是啥? 在本篇Java《面向对象程序设计》实验报告中,我们主要探讨了两个核心知识点:ArrayList的使用和List接口的操作,包括元素的添加、删除、排序以及迭代器的应用。以下是详细内容: 1. ArrayList对象的创建与操作: - 在实验的第一部分,定义了两个字符串数组`mpgStr[]`和`pngStr[]`,并将它们的元素交替添加到一个ArrayList对象`list`中。这展示了ArrayList如何作为动态数组,可以方便地添加元素。之后,通过迭代器`Iterator`遍历并删除所有包含".png"的元素,这演示了如何使用迭代器进行元素的删除操作,确保了容器的线程安全性。迭代器在遍历过程中删除元素时,不会导致ConcurrentModificationException。 2. List接口的使用与排序: - 第二部分实验要求将一系列数字存入List中,并进行升序和降序排序。使用`ArrayList`实现List接口,通过`Collections.sort()`方法进行升序排序,然后使用`Collections.reverse()`进行降序排序。这里展示了List接口的通用性,可以方便地调用Collections提供的各种集合操作方法。在排序后,向List的第四个位置插入数字35,List依然保持有序,体现了List的有序特性。接着尝试插入字符串"ddy",由于List中的元素是数字,插入字符串会导致类型不匹配的异常。 3. 迭代器编程: - 这次实验中,迭代器`Iterator`被用来遍历ArrayList并删除特定元素。迭代器提供了安全的删除元素的方式,因为它的设计使得在遍历过程中可以修改底层集合而不会引发异常。此外,迭代器还支持`hasNext()`和`next()`方法,用于检查是否还有更多元素以及获取下一个元素。 4. 数据结构的理解: - 实验报告中提到了List、Collection、Set、Map和HashTable等常用数据结构。List是有序的元素集合,允许重复元素;Collection是最基本的集合接口,包含List和Set;Set不允许重复元素;Map存储键值对,而HashTable是线程安全的Map实现。实验要求学生掌握这些基本数据结构的使用。 5. 泛型的运用: - ArrayList的实例化`ArrayList<String> list = new ArrayList<String>();`使用了泛型,指定列表只能存储String类型的元素,这有助于在编译时期防止类型错误。 总结起来,本实验报告通过实际操作,使学生深入理解了ArrayList的动态扩展特性,List接口的排序方法,以及如何利用迭代器进行元素操作。同时,还强调了对Java集合框架中常用数据结构如List、Set、Map的熟悉程度,以及泛型在提高代码类型安全性方面的重要性。
- 粉丝: 2
- 资源: 23
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0