Java: comparando dos matrices de cadenas y eliminando elementos que existen en ambas matrices

Esto es principalmente una cuestión de rendimiento. Tengo una lista maestra de todos los usuarios existentes en una matriz de cadenas AllUids. También tengo una lista de todos los usuarios con fecha de finalización existentes en un EndUids de matriz de cadenas.

Estoy trabajando en Java y mi objetivo es eliminar de la lista maestra todos los usuarios que existan en la matriz con fecha de finalización. Sé que PHP tiene una función llamada array_diff.

Tenía curiosidad por saber si Java tiene algo que pueda comparar dos matrices y eliminar elementos que sean similares en ambas. Mi objetivo es el rendimiento aquí, por lo que pregunté por una función incorporada. No quiero añadir ningún paquete especial.

Pensé en escribir una función recursiva, pero parece que será ineficiente. Hay miles de usuarios en ambas listas. Para que exista en la lista con fecha de finalización, debe existir en la lista de AllUids, es decir, hasta que se elimine.

Ejemplo:

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

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

Funcionalidad que estoy buscando:

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

ActiveUids se vería así:

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

Gracias a todos, Obviamente, puedo crear bucles, pero no estoy seguro de que sea eficiente. Esto es algo que se ejecutará en las máquinas de producción todos los días.

Respuestas a la pregunta(7)

Su respuesta a la pregunta