使用LinkedList容器类,实现由字符串"aaaaabbbbcccddeabcdef"生成字符及个数的线性表,如以上子串生成的LinkedList线性表各结

qq_47082148 2020-04-16 10:54:19
.求java完整代码
...全文
139 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jackyyl729 2021-04-24
  • 打赏
  • 举报
回复
package demo.test; import java.util.Iterator; import java.util.LinkedList; class ZF { char c; int gs; } public class test { public static void main(String[] args) { String s = "aaaaabbbbcccddeabcdef"; char a[] = s.toCharArray(); LinkedList<ZF> mylist = new LinkedList<>(); //标志,判断mylist是否在while循环中已经查出存在,并且执行了+1操作,否者在while循环外重新添加一个ZF到mylist中 boolean flag = false; //这里i小于a.length就可以了,不用length-1,因为下标是从0开始计算,长度为3的字符数组,是[0,1,2] 2<3就可以了,2<(3-1)就会丢失最后一位 for (int i = 0; i < a.length; i++) { //判断a[i]是否存在mylist中,这里我用Iterator来遍历mylist查询是否已经存在a[i],也可以其他方法,比如for循环 Iterator iterator = mylist.iterator(); while (iterator.hasNext()) { ZF zf = (ZF) iterator.next(); if (a[i] == zf.c) { zf.gs++; //mylist中已经存在a[i]字符,所以我们给他ZF中的(int)gs +1,然后标志置为true,再break跳出循环。 flag = true; break; } } //判断mylist中是否已经存在了,如果不存在的话,这里就new 一个ZF,添加到mylist中。 if (!flag) { ZF zf = new ZF(); zf.c = a[i]; zf.gs = 1; mylist.add(zf); } flag = false; } //遍历输出mylist for (ZF zf : mylist) { System.out.println(zf.c + ":" + zf.gs); } } }

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧