Знаете ли вы какой-либо эффективный способ удаления повторяющихся значений из очень большого целочисленного массива с помощью Java? Размер массива зависит от вошедшего в систему пользователя, но всегда будет превышать 1500000 несортированных значений с некоторыми дубликатами. Каждое целое число содержит число от 100000 до 9999999.
Я попытался преобразовать его в список, но куча на моем сервере не позволяет передавать такое количество данных (мой интернет-провайдер ограничил его). А вычисление обычного цикла for внутри цикла for занимает более 5 минут.
Выражение пусть будет: теперь мне нужно передать exp1 в теперь я делаю следующее: проблема в том, что входной параметр изменяется да! но x внутри тела лямбда-выражения "x.mesID" относится к старому типу. Любой способ изменить тип всех параметров в теле или изменить входной параметр в другом месте, он тоже отражает тело? ] Думаю, это большая проблема, с которой я всегда сталкиваюсь с LINQ, поскольку между слоями я не могу передавать сгенерированные классы, так как это приведет к объединению слоев, поэтому мне нужно сделать классы с легким весом, теперь как мне использовать такой метод, как _db. Messages.where (); из служебного слоя? !! в то время как слой busniess ничего не знает о типе сообщения, он знает только MessageDTO. Expression<Func<Message, bool>> exp1 = x => x.mesID == 1;
Expression<Func<MessageDTO, bool>> exp2 = x => x.mesID == 1;
_db.Messages.where (exp1);
проблема в том, что у меня есть только exp2 , мне нужно преобразовать тип в сообщение, все свойства такие же! var par = Expression.Parameter(typeof(Message));
var ex = (Expression<Func<Message, bool>>)Expression.Lambda(exp2.Body, par);