Java: Porównywanie dwóch tablic łańcuchowych i usuwanie elementów istniejących w obu tablicach

To głównie pytania dotyczące wydajności. Mam listę główną wszystkich użytkowników istniejących w tablicy tablicy AllUids. Mam także listę wszystkich użytkowników końcowych istniejących w EndUids tablicy tablicowej.

Pracuję w Javie i moim celem jest usunięcie wszystkich użytkowników, którzy istnieją w tablicy z datą końcową z listy głównej AllUids. Wiem, że PHP ma funkcję o nazwie array_diff.

Byłem ciekawy, czy Java ma coś, co porówna dwie tablice i usunie elementy podobne w obu. Moim celem jest tutaj wydajność, dlatego zapytałem o wbudowaną funkcję. Nie chcę dodawać żadnych specjalnych pakietów.

Myślałem o napisaniu funkcji rekurencyjnej, ale wygląda na to, że będzie nieefektywna. Na obu listach są tysiące użytkowników. Aby istnieć na liście z datą końcową, musisz istnieć na liście AllUids, czyli do momentu usunięcia.

Przykład:

String[] AllUids = {"Joe", "Tom", "Dan", "Bill", "Hector", "Ron"};

String[] EndUids = {"Dan", "Hector", "Ron"};

Funkcjonalność, której szukam:

String[] ActiveUids = AllUids.RemoveSimilar(EndUids);

ActiveUids wyglądałyby tak:

{"Joe", "Tom", "Bill"}

Dziękuję wszystkim, oczywiście mogę wymyślić pętle i takie, ale nie jestem pewien, czy będzie skuteczny. To jest coś, co będzie działać na maszynach produkcyjnych codziennie.

questionAnswers(7)

yourAnswerToTheQuestion