Java 读取文本文件并存储在hashmap中。然后按顺序排序
文件如下所示:Java 读取文本文件并存储在hashmap中。然后按顺序排序,java,io,hashmap,comparator,Java,Io,Hashmap,Comparator,文件如下所示: name1 134.2 name2 456.7 name3 265.3 ... ... 我读取文本文件并存储在HashMap中 之后,我想按顺序排序(按最大值排序),但问题是,因为我按字符串对值排序,所以无法进行比较。 那么..有没有办法将textfile的值以双精度或整数形式放入hashmap import java.io.*; import java.util.*; class Test { public static void main(Stri
name1 134.2
name2 456.7
name3 265.3
...
...
我读取文本文件并存储在HashMap中
之后,我想按顺序排序(按最大值排序),但问题是,因为我按字符串对值排序,所以无法进行比较。
那么..有没有办法将textfile的值以双精度或整数形式放入hashmap
import java.io.*;
import java.util.*;
class Test
{
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner(new FileReader("score.txt"));
HashMap<String, String> map = new HashMap<String, String>();
while (scanner.hasNextLine()) {
String[] columns = scanner.nextLine().split("\t\t");
map.put(columns[0], columns[1]);
}
System.out.println(map);
}
}
import java.io.*;
导入java.util.*;
课堂测试
{
公共静态void main(字符串[]args)引发FileNotFoundException{
Scanner Scanner=新扫描仪(新文件阅读器(“score.txt”);
HashMap=newHashMap();
while(scanner.hasNextLine()){
String[]columns=scanner.nextLine().split(“\t\t”);
map.put(列[0],列[1]);
}
系统输出打印项次(map);
}
}
是,使用HashMap
输入值时,使用double.parseDouble()
将它们转换为double
(您可以使用Float
而不是Double
,但通常使用Double更有意义)。是的,使用HashMap
并在输入值时,使用Double.parseDouble()
将它们转换为Double
(您也可以使用Float
而不是Double
,但通常使用Double更有意义)。不保证顺序:
此类不保证地图的顺序;在里面
特别是,它不能保证订单保持不变
随着时间的推移
这意味着对哈希映射进行排序将是无用的。如果需要加载像这样的键值对,可以考虑实现具有所需字段并实现接口的自己的类。
这将允许您加载对象,然后仅调用对自定义对象列表进行排序。不保证顺序:
此类不保证地图的顺序;在里面
特别是,它不能保证订单保持不变
随着时间的推移
这意味着对哈希映射进行排序将是无用的。如果需要加载像这样的键值对,可以考虑实现具有所需字段并实现接口的自己的类。
这将允许您加载对象,然后只调用对自定义对象列表进行排序