映射键基于数字和字符排序

时间:2016-03-23 09:58:29

标签: java collections

[result][1]    
package info.sreenu.collectionsmap;
import java.util.HashMap;
import java.util.Map;
public class MapDemo {
public static void main(String[] args) {
Map m=new HashMap();
m.put(1,"satya");
m.put('a',"anil");
m.put('b',"raju");
m.put('c',"nayana");
m.put(2,"hiyathi");
System.out.println(m.keySet());
System.out.println(m.values());
}
}

这里我需要根据数字和字符对地图键进行排序。

1 个答案:

答案 0 :(得分:0)

更改代码以使用TreeMap而不是HashMap。那是基于密钥对数据进行排序。

Here's对此有更好的解释。

其次,您不能同时插入Integer和Character作为键,因为它们无法进行转换。
您可以编写比较器或将所有键(整数,字符)转换为字符串,然后将其作为键插入。

If ThisWorkbook.BuiltinDocumentProperties("title") = "" Then
strTitle = "Timesheet " & UCase(strNaam) & " " & StrConv(strVoornaam, 3)
varDirectory = Application.GetSaveAsFilename(strTitle, "Timesheet Files(*.xlsm), *.xlsm")
Sheets("Data").Range("B25") = varDirectory

ActiveSheet.SaveAs Filename:=varDirectory, FileFormat:=25 ------------> error
ThisWorkbook.BuiltinDocumentProperties("title") = strTitle

End If

有关如何在TreeMap中使用比较器,请参阅this