Collections排序问题!!

oo
02-10-09 6 420

我利用TreeMap来对一个指定的文件夹中的文件进行按日期,大小,名称来排序,但是其中发现一个问题:如果其中有相同大小的或是相同修改时间的文件的话,那么程序只打印出其中的一个文件,其它相同大小或是相同修改时间的文件却没了。
哪位大哥有没有好点的解决办法?
(我想用List做,可是没想出来。。;()

mem_fox
2002-10-17 11:05

你看看map的定义:A map cannot contain duplicate keys; each key can map to at most one value.

不能有重复的key

wys1978
2002-10-17 11:24

用File的listFiles() method返回一个File[]
然后写一个针对File的时间和大小的Comparator,再调用Arrays的
sort(Object[] a, Comparator c)
就可以把File[]排序完毕了

banq
2002-10-17 21:23

对 写一个Comparator
相同值返回不要为0就可以。

参见我的一篇文章:
http://www.jdon.com:81/jive/article.jsp?forum=16&thread=262

wys1978
2002-10-18 08:22

相同值返回为什么不要为0?
作为一种稳定的排序方法,主键相同的元素在排序前后的次序应该是不变的
所以Comparator应该返回0.

2Go 1 2 下一页