2016-09-22 2 views
0

Я новичок в scala. Я пытаюсь понять потоки. Могу ли я сказать мне разницу между фильтром jsva 8 streams и потоками в scala?Как преобразовать поток java в потоки scala?

Как это сделать в scala?

Например, если я хочу преобразовать это в scala, мне нужно использовать Stream или Stream []?

itemList.getIds() является Map<String, List<Ids>>:

itemList.getIds().entrySet() 
        .stream() 
        .filter(entry -> validate(entry.getValue(), time)) 
        .map(Map.Entry::getKey) 
        .findFirst().get() 

Благодаря

+0

Я не верю, что itemList.getIds() - это список. Скорее карта. Для этого вам не нужен класс потока scala. В scala все функциональные операции, такие как filter, map, находятся в каждой коллекции, включая Map. –

+0

@ LionelPort Да, извините, это карта. Так что я могу использовать фильтр с прямым доступом? – Newbie

ответ

0

Здесь аналогичный образец

Предполагая, что структура данных и проверки функции определяется

val myMap = Map(1 -> "Value1",2 -> "Value2") 
val time = System.currentTimeMillis 

def validate(str:String, time:Long) = true 

Тогда прямой перевод вашего кода может быть просто

myMap.filter(entry => validate(entry._2, time)).map(_._1).take(1) 
+0

Im получение не может разрешить фильтр символов, мне нужно что-нибудь импортировать? – Newbie

+0

Я считаю, что это потому, что карта из класса JAVA mojo. – Newbie

Смежные вопросы