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.