我的问题实际上比问题所暗示的更微妙,但希望标题保持简短。
我有一个HashMap<String, File>
的File
对象作为值。 key 是 String name
属于 File
的字段实例。我需要迭代 HashMap
中的值并将它们作为单个 String
返回。
这是我目前拥有的:
private String getFiles()
{
Collection<File> fileCollection = files.values();
StringBuilder allFilesString = new StringBuilder();
for(File file : fileCollection) {
allFilesString.append(file.toString());
}
return allFilesString.toString();
}
这可以完成工作,但理想情况下我想要单独的 File
要附加到 StringBuilder
的值按int fileID
的顺序,这是 File
的一个字段类。
希望我已经说得足够清楚了。
最佳答案
这样的事情应该有效:
List<File> fileCollection = new ArrayList<File>(files.values());
Collections.sort(fileCollection,
new Comparator<File>()
{
public int compare(File fileA, File fileB)
{
final int retVal;
if(fileA.fileID > fileB.fileID)
{
retVal = 1;
}
else if(fileA.fileID < fileB.fileID)
{
retVal = -1;
}
else
{
retVal = 0;
}
return (retVal);
}
});
关于java - 如何形成从 HashMap 中提取的值的有序列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/603766/