2

我对 setProperty 的排序或对 Properties 类的排序进退两难。

这个想法是我想保存一个排序的属性文件。我已经准备好排序类,但是当我执行setPropertyput时,排列变得很奇怪。

Properties tmp = new Properties();
tmp.setProperty("A1","B");
tmp.setProperty("A2","B");
tmp.setProperty("A3","B");
tmp.setProperty("A4","B");
tmp.setProperty("A5","B");

执行tmp.list(System.out)时的输出变为:

-- listing properties --
A4=B
A3=B
A2=B
A1=B
A5=B

使用put时也是如此。

我不知道为什么.. 我需要的只是将排序的属性保存在 *.properties 文件中。

任何帮助,将不胜感激。谢谢!

4

1 回答 1

4

该类Properties扩展Hashtable,因此没有定义保证的排序顺序。你最好的办法是尝试 a TreeMap,因为它给出了键的自然排序顺序。如果你想这样做saveload你将不得不滚动你自己的逻辑,因为这些操作不会发生TreeMap。如果您想查看这些代码示例,请告诉我。

于 2013-05-21T11:56:32.360 回答