这主要是一个性能问题。我有一个字符串数组AllUids中现有的所有用户的主列表。我还列出了String数组EndUids中存在的所有已过期用户。
我正在使用Java进行工作,我的目标是从主列表AllUids中删除截止日期数组中存在的所有用户。我知道PHP有一个叫做array_diff的函数。
我很好奇Java是否具有可以比较两个数组并删除两个相似的元素的东西。我的目标是这里的性能,这就是为什么我问一个内置函数。我不想添加任何特殊包。
我考虑过编写一个递归函数,但是看起来效率很低。两个列表中都有成千上万的用户。为了存在于过期日期列表中,您必须存在于AllUids列表中,直到删除。
例:
String[] AllUids = {"Joe", "Tom", "Dan", "Bill", "Hector", "Ron"};
String[] EndUids = {"Dan", "Hector", "Ron"};
我正在寻找的功能:
String[] ActiveUids = AllUids.RemoveSimilar(EndUids);
ActiveUids看起来像这样:
{"Joe", "Tom", "Bill"}
谢谢大家,显然我可以提出这样的循环,但是我不确定这样做会有效。这是每天都会在生产机器上运行的东西。