Java ArrayList删除连续abc与统计字符出现次数
需积分: 0 81 浏览量
更新于2024-06-30
收藏 105KB DOCX 举报
在Java编程中,集合综合题通常涉及对不同数据结构和算法的应用。这里提供了两个相关的练习题目。
首先,我们来看第一个问题,要求从一个ArrayList中删除所有值为"abc"的字符串元素。在Java中,`ArrayList` 是一种动态数组,用于存储和操作一组对象。在这个示例中,我们创建了一个`ArrayList<String>` `list`,然后添加了几个包含"abc"的字符串。为了删除特定元素,代码使用了两种遍历方式:
1. **倒着遍历(避免遗漏)**:通过从`list`的末尾开始,逐个检查元素是否等于"abc",若找到就调用`remove()`方法。这种方法可以确保即使有连续的"abc",也能一次性删除干净,因为每次删除后角标会递减。
2. **正向遍历(处理复杂情况)**:常规的正向遍历过程中,每遇到"abc"就调用`remove(j)`,并在此情况下手动调整角标`j`减一,以防遗漏。这样可以避免删除不净的问题,但需要注意处理连续"abc"时可能出现的特殊情况。
第二个问题涉及到统计一个字符串中每个字符出现的次数,并以指定格式输出。这需要用到`Set`和`TreeMap`数据结构。`Set`是一个不允许重复元素的集合,而`TreeMap`则提供了排序功能,键(字符)作为键,值(出现次数)作为值。代码首先导入了这两个类,然后定义了一个`TreeMap<Character, Integer>`来存储字符及其出现次数。遍历输入字符串,对于每个字符,检查`TreeMap`中是否存在该字符,如果不存在则添加(初始值为1),已存在则累加计数。最后,遍历`TreeMap`并格式化输出,例如:"a(2)b(1)k(2)..."。
总结起来,这段代码演示了Java中集合操作的实用技巧,包括如何使用`ArrayList`进行条件删除,以及如何利用`Set`和`TreeMap`进行字符计数。这些基础概念在实际开发中非常常见,对提升编程能力很有帮助。
2008-07-24 上传
2021-08-19 上传
2015-11-07 上传
2009-04-08 上传
2006-06-07 上传
2021-08-05 上传
2023-09-02 上传
2009-09-12 上传
首席程序IT
- 粉丝: 39
- 资源: 305
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升