【发布时间】:2019-05-06 18:49:58
【问题描述】:
我必须为一个类编写一段代码,该类计算输入文件中字符的出现次数,然后对其进行排序,我选择通过创建一个 ArrayList 来做到这一点,其中每个 object[] 有两个元素,字符和出现次数。
我试图增加表示出现次数的整数,但我无法让它工作
我目前的尝试是这样的:
for(int i=0;i<=text.length();i++) {
if(freqlist.contains(text.charAt(i))) {
freqlist.indexOf(text.charAt(i))[1]=freqlist.get(freqlist.indexOf(text.charAt(i)))[1]+1;
}
}
文本只是一个包含所有输入文件的字符串
freqlist 之前声明为
List<Object[]> freqlist=new ArrayList<Object[]>();
所以,我想知道如何增加或修改数组列表中的数组元素
【问题讨论】:
-
看起来您正在尝试将列表元素同时视为字符和 Object[2] 数组。
-
您应该尝试使用键是字符,值是出现次数的映射。您可以使用 merge 方法来更新计数。
-
使用
Map<Character, Integer>可能更容易跟踪计数。排序部分不清楚。或者使用分组流text。