我已将用户手机中的联系人存储在地图中,其中phoneNumbers为键,contactNames为值。此外,我还在用户注册时检索了存储在Firebase中的phone_number。在下面的方法中,我将此地图与列表进行比较。
public static Collection包含(Map map,List list){
Collection<String> keys = map.keySet();
Set<String> result = new HashSet<>();
for (String listItem:list) {
if (keys.contains(listItem)){
result.add(listItem);
}
}
return result;
}
当地图的密钥匹配时,从Firebase检索到phone_number,我希望获得与之关联的值。我该怎么办呢?
答案 0 :(得分:0)
考虑使用HashMap
//Considering this stored contacts
Map<String, String> contactsStored = new HashMap<>();
contactsStored.put("999 999 999", "Anne");
contactsStored.put("000 000 000", "Jonh");
//and this firebase data
List<String> firebaseNumbers = new ArrayList<>();
firebaseNumbers.add("000 000 000");
for (String firebaseNumberKey : firebaseNumbers) {
contactsStored.get(firebaseNumberKey);
}