Это в основном вопросы производительности. У меня есть основной список всех пользователей, существующих в массиве строк AllUids. У меня также есть список всех конечных пользователей, существующих в массиве строк 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"}
Спасибо всем,
Очевидно, я могу придумать петли и тому подобное, но я не уверен, что это будет эффективно. Это то, что будет работать на производственных машинах каждый день.