我在我的OnCreate()
中的字符串上有相同數量的2 Set<String>
,其中一個Set<String>
保存來自多個用戶的消息,而另一個保存這些用戶的名稱。我想加入這兩個Set<String>
例如。可以說有3個消息和3個用戶名,我需要Set<String>
(「消息」)中的第一個字符串與Set<String>
(「名稱」)中的第一個字符串,然後是Set<String>
(「消息」)中的第二個字符串與Set<String>
(「名稱」)中的第二個字符串一起去。使用2個字符串集合(合併它們)
我知道如何去通過所有的Set<String>
,但我無法弄清楚如何用兩個來獲得我需要的結果。也許有人知道一種不同的方式?另一個例子:(3字符串名稱)伊萬,馬克,史蒂夫(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();
}
}
}
'HashSet's不排序,也不聯繫,所以你可能需要一個純字符串
SharedPreference
值'LinkedHashSet'(保留插入訂單)或「TreeSet」(自然排序或使用給定的「比較器」)。 – Mena'Set'不好,使用持久訂單的東西,例如'List'。甚至更好,使用'JSONObject',其中每個對象持有發送者,消息等 – nafas