hchua
hchua
2021-05-05 00:08
采纳率: 66.7%
浏览 47

请问SharedPreferences文件中每项是如何排列的?

有一个SharedPreferences的XML文件内容如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <string name="三">3</string>
    <string name="四">4</string>
    <string name="九">9</string>
    <string name="七">7</string>
    <string name="一">1</string>
    <string name="八">8</string>
    <string name="二">2</string>
    <string name="五">5</string>
    <string name="六">6</string>
</map>

我是有按照一二三四这样的顺序一项一项map.put()加上去的.结果储存时就变成以上那样,而再读出来再赋值到activity后就就乱了。

请问该如何能让他按原来的顺序储存好?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • qq_42158560
    雪下的回忆 2021-05-06 11:16
    已采纳

    sharedpreference是哈希表的结构,内部数据的顺序由哈希函数和分配的内存决定。

     

    想要存储顺序的话你可以用key来代替顺序,取出之后排序就可以;也可以将对象序列化后存储,用的时候反序列化一下;再或者选用别的存储方式,比如数据库或者文件存储什么的。

    点赞 1 评论
  • software7503

    map哈希表是不确保顺序的,你可以使用其他对象来实现。list,treeset,stack等都可以确保顺序。

    点赞 1 评论
  • QA_Assistant
    有问必答小助手 2021-05-06 14:27

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论
  • QA_Assistant
    有问必答小助手 2021-05-07 15:37

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 评论

相关推荐