public static void readAndCount() {
String path="E:\java\IO\IOTest\test1.txt";
try {
String line=null;
BufferedReader reader = new BufferedReader(new FileReader(path));
ArrayList list = new ArrayList<>();
while((line=reader.readLine())!=null){
String[] split=line.split(",");
for(String s:split){
Integer value=Integer.valueOf(s);
list.add(value);
}
}
Iterator iterator = list.iterator();
HashMap hashMap = new HashMap<>();
while(iterator.hasNext()){
Integer key=iterator.next();
if(hashMap.containsKey(key)){
hashMap.put(key,hashMap.get(key)+1);
}else{
hashMap.put(key,1);
}
}
PriorityQueue> queue = new PriorityQueue<>(2, new Comparator>() {
@Override
public int compare(Map.Entry o1, Map.Entry o2) {
return o1.getValue()-o2.getValue();
}
});
Iterator> iterator1 = hashMap.entrySet().iterator();
while(iterator1.hasNext()){
Map.Entry entry=iterator1.next();
if(queue.size()<2){
queue.add(entry);
}else{
if(entry.getValue()>queue.peek().getValue()){
queue.remove();
queue.add(entry);
}
}
}
Iterator> iterator2 = queue.iterator();
while(iterator2.hasNext()){
Map.Entry entry1=iterator2.next();
System.out.println(entry1.getKey()+":"+entry1.getValue());
iterator2.remove();
}
} catch (Exception e) {
e.printStackTrace();
}
}