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