2016-09-22 131 views
0

我是新來的斯卡拉我想了解流。我可以告訴我在jsva 8流過濾器和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中,所有功能操作(如過濾器,地圖)都在每個集合(包括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

即時通訊無法解析符號過濾器,我是否需要導入任何東西? – Newbie

+0

我相信這是因爲該地圖來自JAVA mojo類。 – Newbie