単語 (一部は繰り返される) を含む 1GB (非常に大きな) ファイルが与えられた場合、ファイルを読み取り、各単語が繰り返される回数を出力する必要があります。私のソリューションが高性能かどうか教えてください。
(簡単にするために、既に単語を にキャプチャしていると仮定しますarraylist<string>
)
大きなO(n)は「n」だと思います。私は正しいですか??
public static void main(String[] args) {
ArrayList al = new ArrayList();
al.add("math1");
al.add("raj1");
al.add("raj2");
al.add("math");
al.add("rj2");
al.add("math");
al.add("rj3");
al.add("math2");
al.add("rj1");
al.add("is");
Map<String,Integer> map= new HashMap<String,Integer>();
for (int i=0;i<al.size();i++)
{
String s= (String)al.get(i);
map.put(s,null);
}
for (int i=0;i<al.size();i++)
{
String s= (String)al.get(i);
if(map.get(s)==null)
map.put(s,1);
else
{
int count =(int)map.get(s);
count=count+1;
map.put(s,count);
}
}
System.out.println("");
}