Вопросы с тегом «stream»

262
Почему Stream <T> не реализует Iterable <T>?

В Java 8 у нас есть класс Stream <T> , который, как ни странно, имеет метод Iterator<T> iterator() Таким образом, вы ожидаете, что он реализует интерфейс Iterable <T> , который требует именно этот метод, но это не так. Когда я хочу перебрать поток с помощью цикла foreach, я должен...

259
Ссылки на методы Java 8: предоставляют Поставщика, способного предоставить параметризованный результат

Я хотел бы использовать java.util.Optional.orElseThrow() с типом исключения, который запрашивает параметр конструктора. Что-то вроде этого: .orElseThrow(MyException::new(someArgument)) // obviously NOT working Есть ли способ создать поставщика, который передает значение моего...

257
Игнорировать дубликаты при создании карты с использованием потоков

Map<String, String> phoneBook = people.stream() .collect(toMap(Person::getName, Person::getAddress)); Я получаю, java.lang.IllegalStateException: Duplicate keyкогда дублированный элемент найден. Можно ли игнорировать такое исключение при добавлении значений на карту? Когда есть дубликат, он...

241
Java 8 лямбда, Function.identity () или t-> t

На этом вопросе есть ответы на Переполнение стека на русском : Ямбы в Java 8, что лучше использовать - Function.identity () или t-> t? У меня есть вопрос, касающийся использования Function.identity()метода. Представьте себе следующий код: Arrays.asList("a", "b", "c") .stream()...

240
Использование Java 8 необязательно с Stream :: flatMap

Новая потоковая среда Java 8 и ее друзья создают очень лаконичный Java-код, но я столкнулся с на первый взгляд простой ситуацией, которую сложно сделать лаконично. Рассмотрим List<Thing> thingsи метод Optional<Other> resolve(Thing thing). Я хочу отобразить Things на...

239
Почему Java Streams разовые?

В отличие от C # IEnumerable, где конвейер выполнения может выполняться столько раз, сколько мы хотим, в Java поток может быть «повторен» только один раз. Любой вызов терминальной операции закрывает поток, делая его непригодным для использования. Эта «особенность» отнимает много энергии. Я думаю,...

237
Как правильно перегрузить оператор << для ostream?

Я пишу небольшую матричную библиотеку на C ++ для матричных операций. Однако мой компилятор жалуется, где раньше этого не было. Этот код оставлялся на полке в течение 6 месяцев, и между тем я обновил свой компьютер с debian etch до lenny (g ++ (Debian 4.3.2-1.1) 4.3.2), однако у меня та же проблема...

235
Java 8 Streams: несколько фильтров против сложных условий

Иногда вы хотите отфильтровать Streamнесколько условий: myList.stream().filter(x -> x.size() > 10).filter(x -> x.isCool()) ... или вы можете сделать то же самое со сложным условием и одним filter : myList.stream().filter(x -> x.size() > 10 && x -> x.isCool()) ... Я...

233
Разница между fprintf, printf и sprintf?

Может кто - нибудь объяснить на простом английском языке о различиях между printf, fprintfи sprintfс примерами? В каком потоке это? Я действительно запутался между тремя из них, когда читал о "Обработка файлов в...

230
Фильтр Java Stream на 1 и только 1 элемент

Я пытаюсь использовать Java 8 Streams, чтобы найти элементы в LinkedList. Однако я хочу гарантировать, что существует одно и только одно соответствие критериям фильтра. Возьми этот код: public static void main(String[] args) { LinkedList<User> users = new LinkedList<>(); users.add(new...

222
Как начать работу с Akka Streams? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыто 4 года назад . Улучшить этот вопрос Библиотека Akka Streams уже...

216
Как напечатать (используя cout) число в двоичном виде?

Я учусь в колледже на курсах по операционным системам, и мы учимся, как преобразовывать двоичные числа в шестнадцатеричные, десятичные в шестнадцатеричные и т. Д., И сегодня мы только что узнали, как числа со знаком / без знака хранятся в памяти с помощью дополнения к двум (~ число +1) У нас есть...

215
.Min () и .max () потока Java 8: почему это компилируется?

Примечание: этот вопрос возник из мертвой ссылки, которая была предыдущим вопросом SO, но здесь идет ... Посмотрите этот код ( примечание: я знаю, что этот код не будет «работать» и его Integer::compareследует использовать - я просто извлек его из связанного вопроса ): final ArrayList...

210
Java8: от HashMap <X, Y> до HashMap <X, Z> с использованием Stream / Map-Reduce / Collector

Я знаю, как "преобразовать" простую Java List из Y-> Z, то есть: List<String> x; List<Integer> y = x.stream() .map(s -> Integer.parseInt(s)) .collect(Collectors.toList()); Теперь я хотел бы сделать то же самое с картой, то есть: INPUT: { "key1" -> "41", // "41" and "42" "key2"...

206
Использование Java 8 для преобразования списка объектов в строку, полученную из метода toString ()

В Java 8 появилось много полезных новых вещей. Например, я могу перебирать поток по списку объектов, а затем суммировать значения из определенного поля Objectэкземпляров. Например public class AClass { private int value; public int getValue() { return value; } } Integer sum =...

201
Нужно ли вручную закрывать ifstream?

Нужно ли мне вручную звонить, close()когда я использую std::ifstream? Например, в коде: std::string readContentsOfFile(std::string fileName) { std::ifstream file(fileName.c_str()); if (file.good()) { std::stringstream buffer; buffer << file.rdbuf(); file.close(); return buffer.str(); } throw...