我试图用扫描仪与形式的“A/B”部分字符串文本文件阅读,它们存储在一个数组,然后打印到控制台上沿每个唯一一个其计数。我可以用精确的计数打印文本文件中的每个单独条目,但我无法弄清楚如何在没有任何重复的情况下打印数组的内容。删除重复数组项
我也想完全主内做到这一点。下面是我到目前为止有:
公共静态无效的主要(字串[] args)抛出FileNotFoundException异常 {
ArrayList<String> fracs = new ArrayList<String>();
Scanner input = new Scanner(new File("input.txt"));
ArrayList<String> fracsDisplay = new ArrayList<String>();
while(input.hasNext())
fracs.add(input.next());
for(int i = 0; i < fracs.size(); i++)
{
int count = 0;
for(int j = 0; j < fracs.size(); j++)
{
if(fracs.get(i).equals(fracs.get(j)))
count++;
}
System.out.println(fracs.get(i) + ": " + count);
}
input.close();
}
嗯,你可以添加的元素之前检查'fracs.contains(...)'如果数组包含已经是一个元素,如果是的话只是增加计数器或避免再次添加元素。一个'Set'默认情况下阻止重复条目。如果你想打印入口名称和数量,为什么不使用'Map'?通过独特的条目(=键)查找计(=值) –