使用 2 个字符串集(组合它们)
Working with 2 String Sets (Combining them)
我的 OnCreate()
中有 2 个 Set<String>
的字符串数量相同,一个 Set<String>
保存来自多个用户的消息,而另一个保存这些用户的名称。我想加入那两个 Set<String>
例如。假设有 3 条消息和 3 个用户名,我需要 Set<String>
("messages") 中的第一个字符串与 Set<String>
("names") 中的第一个字符串一起使用,然后 Set<String>
("messages") 中的第二个字符串与 Set<String>
("names") 中的第二个字符串一起使用。
我知道如何遍历所有 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();
}
}
}
Set
没有 "first" 的概念,因为集合是无序集合。您不能强制 SharedPreferences
以某种方式维护字符串集条目中值的顺序。
您将需要使用一些其他形式的数据存储而不是一对字符串集 SharedPreference
条目,例如:
- 一个文件(XML、JSON 等)
- 一个数据库table (SQLite)
- 具有更多结构化内容(XML、JSON 等)的纯字符串
SharedPreference
值
我的 OnCreate()
中有 2 个 Set<String>
的字符串数量相同,一个 Set<String>
保存来自多个用户的消息,而另一个保存这些用户的名称。我想加入那两个 Set<String>
例如。假设有 3 条消息和 3 个用户名,我需要 Set<String>
("messages") 中的第一个字符串与 Set<String>
("names") 中的第一个字符串一起使用,然后 Set<String>
("messages") 中的第二个字符串与 Set<String>
("names") 中的第二个字符串一起使用。
我知道如何遍历所有 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();
}
}
}
Set
没有 "first" 的概念,因为集合是无序集合。您不能强制 SharedPreferences
以某种方式维护字符串集条目中值的顺序。
您将需要使用一些其他形式的数据存储而不是一对字符串集 SharedPreference
条目,例如:
- 一个文件(XML、JSON 等)
- 一个数据库table (SQLite)
- 具有更多结构化内容(XML、JSON 等)的纯字符串
SharedPreference
值