Java8

lambda表達(dá)式

  1. 代替匿名類
new Thread(
 () -> System.out.println("In Java8, Lambda expression rocks !!") ).start();

表達(dá)式的用法
(params) -> expression
(params) -> statement
(params) -> { statements }

  1. 事件寫(xiě)法或者comparator
    private void compare(List<String>names){
    Collections.sort(names,(s1,s2)->s1.compareTo(s2))
    }
  2. 迭代
// Java 8之前:
List features = Arrays.asList("Lambdas", "Default Method", "Stream API", "Date and Time API");
for (String feature : features) {
    System.out.println(feature);
}

// Java 8之后:
List features = Arrays.asList("Lambdas", "Default Method", "Stream API", "Date and Time API");
features.forEach(n -> System.out.println(n));
 
// 使用Java 8的方法引用更方便,方法引用由::雙冒號(hào)操作符標(biāo)示,
// 看起來(lái)像C++的作用域解析運(yùn)算符
features.forEach(System.out::println);

4.函數(shù)式接口Predicate

public static void filter(List names, Predicate condition) {
    names.stream().filter((name) -> (condition.test(name))).forEach((name) -> {
        System.out.println(name + " ");
    });
}

Bipredicate是接受兩個(gè)參數(shù)的

BiPredicate<String, String> sbp = String::equals;
//等效
BiPredicate<String, String> sbp2 = (x, y) -> x.equals(y);
System.out.print(sbp.test("A", "A"));

5.在lambda表達(dá)式中加入Predicate
并且同時(shí)使用and或者or條件

Predicate<String> startsWithC = (n) -> n.startsWith("C");
Predicate<String> startsWithZ = (n) -> n.startsWith("Z");   
tests.stream().filter(startsWithC.or(startsWithZ)).forEach(System.out::println);

6.map和reduce
reduce可以將所有的數(shù)據(jù)合成一個(gè)渊啰,是一個(gè)折疊操作绍傲,可以使用sum()等方法德挣,也可以自定義

List<Integer> prices = Arrays.asList(100, 200);
prices.stream().map((cost)->(cost+ .12*cost)).forEach(System.out::println);
prices.stream().map((cost)->(cost+.12*cost)).reduce((sum,cost)->(sum+cost)).get()乍迄;

7.用filter得到一個(gè)新的list
在這里filter不是丟棄部分,而是形成一個(gè)新的符合條件的list

names.stream().filter(n->n.length()>1).collect(Collectors.toList())

8.map-對(duì)列表中的每一個(gè)元素都應(yīng)用

names.stream().map(n->n.toUpperCase()).collect(Collectors.toList())

9.distinct-復(fù)制不同的值货抄,創(chuàng)建一個(gè)子列表

prices.stream().distinct().collect(Collectors.toList())

10.一些方法
map教沾,foreach,limit,sorted,collectors
Random random = new Random(); random.ints().limit(10).forEach(System.out::println);
random.ints().limit(10).sorted().forEach(System.out::println);
random.ints().limit(10).sorted()..collect(Collectors.toList())
random.ints().limit(10).sorted()..collect(Collectors.joining(", "));
原文鏈接:
https://www.cnblogs.com/coprince/p/8692972.html

optional類

Optional 類是一個(gè)可以為null的容器對(duì)象蒲跨,可以存放值,也可以直接存放null授翻,這樣就不用顯式進(jìn)行空值檢測(cè)或悲,很好的解決空指針異常。

 Optional<Integer> a = Optional.ofNullable(null);
a.isPresent()-----false
a.isEmpty()-----true
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末堪唐,一起剝皮案震驚了整個(gè)濱河市巡语,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌淮菠,老刑警劉巖男公,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異兜材,居然都是意外死亡理澎,警方通過(guò)查閱死者的電腦和手機(jī)逞力,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)曙寡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人寇荧,你說(shuō)我怎么就攤上這事举庶。” “怎么了揩抡?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵户侥,是天一觀的道長(zhǎng)镀琉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蕊唐,這世上最難降的妖魔是什么屋摔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮替梨,結(jié)果婚禮上钓试,老公的妹妹穿的比我還像新娘。我一直安慰自己副瀑,他們只是感情好弓熏,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著糠睡,像睡著了一般挽鞠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狈孔,一...
    開(kāi)封第一講書(shū)人閱讀 50,084評(píng)論 1 291
  • 那天信认,我揣著相機(jī)與錄音,去河邊找鬼除抛。 笑死狮杨,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的到忽。 我是一名探鬼主播橄教,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼喘漏!你這毒婦竟也來(lái)了护蝶?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤翩迈,失蹤者是張志新(化名)和其女友劉穎持灰,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體负饲,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡堤魁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了返十。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妥泉。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖洞坑,靈堂內(nèi)的尸體忽然破棺而出盲链,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布刽沾,位于F島的核電站本慕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏侧漓。R本人自食惡果不足惜锅尘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望布蔗。 院中可真熱鬧鉴象,春花似錦、人聲如沸何鸡。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)骡男。三九已至淆游,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間隔盛,已是汗流浹背犹菱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吮炕,地道東北人腊脱。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像龙亲,于是被迫代替她去往敵國(guó)和親陕凹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容