24

文字列のセットを保存/復元しようとしましたが、1つを除いてすべてが機能しています。私が文字列を作成するとき、私は置きます:

Set<String> set = new HashSet<String>();
for(int i=0; i<toggles.size();i++){
   set.add(toggles.get(i).serialise());                 
}

順序は、たとえば「blutooth」「application」「data」です。セットに戻ったら:

Set<String> set = prefs.getStringSet(key, new HashSet<String>());
for (String toggle : set){
    Toggle t = new Toggle();
    t.deserialize(toggle);
    toggles.add(t); 
}

「アプリケーション」「Bluetooth」「データ」を取得します。これらは名前で並べ替えられているので、これは必要ありません。保存したのと同じ注文を取得したい。誰でも私を助けることができますか?

4

4 に答える 4

24

これは不可能です。セットは順序付けられていないコレクションです。

于 2012-11-19T01:04:14.963 に答える
14

文字列の前に数字を付けることができ00applicationます。返された fromを anに入れて並べ替えます。01bluetooth02dataSet<String>getStringSetArray<Set>

Set<String> set = prefs.getStringSet(key, new HashSet<String>());
Array<String> a = set.toArray();
java.util.Arrays.sort(a);
于 2012-11-19T08:15:55.663 に答える