我的Set<String>
中有两个OnCreate()
字符串相同的数量,一个Set<String>
包含来自多个用户的消息,而另一个拥有这些用户的名称。我想加入这两个Set<String>
,例如。假设有3条消息和3个用户名,我需要Set<String>
内的第一个字符串(&#34;消息&#34;)与Set<String>
内的第一个字符串一起使用(&#34; name&#34;),然后Set<String>
内的第二个String(&#34; messages&#34;)与Set<String>
内的第二个String一起使用(&#34; names&#34;)..在那种模式。
我知道如何浏览所有Set<String>
,但我无法弄清楚如何用两个来完成我需要的结果。也许有人知道不同的方式?另一个例子:(3个字符串名称)Ivan,Mark,Steve(3个字符串消息)嘿!,和你在一起?,嗨。
我希望它像这样加入:(伊万派了:嘿!)(马克发来了:和你在一起?)(史蒂夫发来:嗨。)
当我只有一个Set<String>
时,这就是我一直在做的事情。
SharedPreferences prefMessage = getSharedPreferences(LocalDatabase.SP_NAME, MODE_PRIVATE);
Set<String> savedMessages = prefMessage.getStringSet("Message", new HashSet<String>());
// Set<String> savedNames = prefShouts.getStringSet("Names", new HashSet<String>());
if(savedMessages!=null) {
int numMsg = savedMessages.size();
int i = 0;
for (String msg : savedMessages) {
i++;
newMessage(msg); //Creates alert Dialog, only sends message, need to include name aka seng newMessage(msg , name)
if (i == numMsg) {
savedMessages.clear();
//savedNames.clear();
}
}
}
答案 0 :(得分:2)
Set
没有“first”的概念,因为集合是无序集合。您不能强制SharedPreferences
以某种方式维护字符串集条目中的值的顺序。
您需要使用其他形式的数据存储而不是一对字符串集SharedPreference
条目,例如:
SharedPreference