0

我正在 Android 上制作一个聊天室应用程序。在应用程序中,每隔 5 秒,它会发送一个请求以获取已连接用户的列表,并将它们作为Buttons 放到面板中。如何有效地确定用户是否已断开连接(是否应从列表中删除)?

尝试1:

有2个列表,一个存储在线列表的当前间隔,两个存储在线列表的下一个间隔。然后比较 .... O(n^2) 比较和 2n 内存;

尝试2:

有 1 个列表,每个间隔删除Button面板中的所有内容,并在每个间隔重新创建它们。

它们似乎都是一个丑陋的解决方案。有什么建议吗?

4

1 回答 1

2

如果两个列表已排序,我们可以在 O(n) 时间内比较它们。因此,我建议您先对列表进行排序(在 O(nlogn) 时间内),然后再进行比较。希望服务器按顺序返回列表(可能在用户登录时),您可以只进行比较而不进行排序。

于 2012-11-20T05:59:11.153 回答