Map或Hashtable的value排序
2,675 阅读
我们在文本操作时,经常要用到排序 以下是我写的一个供大家参考:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class WordSort {
public static void main(String args[]) throws IOException{
Map<string, integer=""> wordCount=new HashMap<string, integer="">();
//需要排序的文本
BufferedReader buufBufferedReader=new BufferedReader(new InputStreamReader(new FileInputStream("D:\\钱洋个人\\学术中心\\数据处理\\user_content_count.txt"), "utf-8"));
String line=null;
while((line=buufBufferedReader.readLine())!=){
wordCount.put(line.split()[], Integer.valueOf(line.split()[]));
}
buufBufferedReader.close();
System.out.println(+wordCount.size());
( ( ( ()),));
(Map.Entry<string, integer=> j: wordCount.entrySet()) {
j.getValue();
(value==) {
Writer.append(j.getKey()+);
}
}
Writer.close();
List<map.entry<string, integer=>> list = <map.entry<string, integer=>>(wordCount.entrySet());
Collections.sort(list, <map.entry<string, integer=>>() {
{
o2.getValue().compareTo(o1.getValue());
}
});
( ( ( ()),));
( ; i < list.size()*; i++) {
Writer1.append(list.get(i).getKey()+);
}
Writer1.close();
}
}
```</string,></string,></map.entry<string,></map.entry<string,></map.entry<string,></string,></string,></string,>
