我有一个小项目,要求我掌握项目中所有活动服务器的状态知识。
类比: - 只要一对人离开酒店的桌子,新的就会随时准备占据这些。
但是,我的情况有所不同。我想跟踪所有活动的服务器。比如说,如果服务器A,B,C,...,Z都是活动的并且正在响应中央服务器。现在,比方说,如果C,P,X和Z失去了电源并关闭,那么我的数据结构应该存储A,B,D,。,O,Q,...,W,Y。并且,如果那些线程服务器区域在活动状态下恢复,那么很容易将这些服务器放入它们生命的方式,即它们正在被恢复。
因此,我应该在哪个数据结构(Java)中保留此记录,以便容易插入和删除周期状态,并且尽可能地降低复杂性。此外,如果引用了Java / Java类(Oracle),那么它将受到欢迎和赞赏。
答案 0 :(得分:1)
假设服务器的排序无关紧要,Set可以正常工作。想知道服务器是否在线? Set.contains()
想要添加即将上线的服务器吗? Set.add()
想要删除脱机的服务器吗? Set.remove()
答案 1 :(得分:0)
为什么不使用一个数组,给每个服务器一个唯一的ID,从0到count-1
int NUM_OF_SERVERS = 32;
Server[] servers = new Server[NUM_OF_SERVERS];
...
// server alive
servers[aliveServer.Id] = aliveServer;
...
// server dead
servers[deadServer.Id] = null;
...
// modify server
servers[serverId].property = something;