繁体   English   中英

存储链接列表的简单方法

[英]Simple way to store a Linked List

嗨,我目前正在使用Android应用程序,当用户从应用程序进程中终止该应用程序时,我需要存储一个LinkedList。 我看过这个简单的方法来在Android应用程序中保存LinkedList?

并且接受的答案似乎不起作用,AndroidStudio抱怨它期望使用数组列表,而不是链接列表。 我意识到这个问题已有3年的历史了,在那段时间里一定有所改变,它才失效。

是否可以将链接列表存储在捆绑包中? 还是有人能使我的LinkedList持久存在?

干杯

正如我在评论中提到的那样,您将无法将LinkedList保存到捆绑包中,但是您可以将LinkedList转换为ArrayList进行保存,然后在再次将其重新加载到应用程序中时将其转换回去。 ArrayListLinkedList的构造函数接受一个Collection ,并将按其迭代器返回它们的顺序添加元素(即,LinkedList的FIFO)

public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    ArrayList<MyObject> listToSave = new ArrayList<MyObject>(myLinkedList);
    outState.putParcelableArrayList("key", listToSave);
}

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (savedInstanceState != null) {
        ArrayList<MyObject> loadedList = savedInstanceState.getParcelableArrayList("key");
        myLinkedList = new LinkedList<MyObject>(loadedList);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM