gpt4 book ai didi

java - Android 与 ArrayList 的共享首选项

转载 作者:行者123 更新时间:2023-11-29 04:49:36 26 4
gpt4 key购买 nike

我正在尝试将 ArrayList 保存和检索为共享首选项。

我的 ArrayList 中有三个项目名为 arra ,但是当我尝试在 set.addAll(arr) 中添加 Set 中的值时,只有两个项目得到添加。

以下代码中是否有任何更正,以便我可以将 arraylist 正确保存为共享首选项。

 SharedPreferences prefs = this.getSharedPreferences(filename,Context.MODE_PRIVATE);

Set<String> set = prefs.getStringSet(filename, null);
arra = new ArrayList<String>();
for (String str : set)
arra.add(str);

ArrayList的保存

 SharedPreferences prefs=this.getSharedPreferences(filename,Context.MODE_PRIVATE);
SharedPreferences.Editor edit=prefs.edit();

Set<String> set = new HashSet<String>();
set.addAll(arr);
edit.putStringSet(filename, set);
edit.commit();

最佳答案

Java 集合中的 Set 不允许插入重复的条目,并且 ArrayList 中的三个项目中有两个是相同的。这就是只有其中两个保存在 SharedPreferences 中的原因。

关于java - Android 与 ArrayList 的共享首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35910163/

26 4 0