gpt4 book ai didi

java - 在android中有条件地显示所有联系人的最快方法

转载 作者:行者123 更新时间:2023-11-29 04:40:37 24 4
gpt4 key购买 nike

也许标题误导了我真正想要的。我有一个网络服务,它以 Json 格式给我一些电话号码。像这样:

{
"phone":123456989,
}

此 Web 服务可以返回 500 多个结果。解析它没有问题,并在 ListView 中显示它。

我想在我的手机中显示所有联系人(带有电话号码),我也可以这样做。

假设我的联系人列表中有四个电话号码(实际上是 500 个)

123456989
123456945
123456912
123456923

我想显示所有的联系人,比较我从网络服务得到的结果

像这样:

123456989 --- using_this_app
123456945
123456912
123456923

类似于 Viber 或 Whatsapp,它们会显示联系人正在使用此应用程序的标记。

如果我想将网络服务的每个结果与每个联系人进行比较,我可以完成我想要的,但问题是这会花费很多时间。我怎样才能做得更快?所以比较不会像viber或whatsapp那样花太长时间

最佳答案

一个简单的选择是:将两个“数据集”放入Set 对象中。然后你可以使用retainAll轻松缩小这两个列表的交集:

使用retainAll,您可以轻松获取两个列表中的所有条目:

Set<String> setA = ...
Set<String> setB = ...
setA.retainAll(setB); // setA now contains only elements in both sets

使用 removeAll,您可以轻松获取仅在两个列表之一中的所有条目(例如,突出显示电话簿中未使用您的应用的那些号码)。

[免责声明:从 JSON 输入中提取这样一个集合的工作;并从电话的联系人列表中留给读者作为练习。对于一个期望他的应用有这么多用户的人;他的应用程序有机会通过联系人找到其他应用程序用户,剩下的工作应该只是“花生”。 ]

关于java - 在android中有条件地显示所有联系人的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39347758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com