欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java8的stream().map()用法詳解

 更新時間:2025年03月13日 09:37:06   作者:程序員阿斌  
這篇文章主要介紹了Java8的stream().map()用法詳解,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Java8的stream().map()用法

在Java編碼過程中可能會遇到這個場景

遍歷一個列表,對列表中的屬性進(jìn)行轉(zhuǎn)換、賦值等操作形成我們想要的一個新列表。通常我們的常規(guī)思路就是直接使用for循環(huán)。

在Java8引入lambda表達(dá)式后我們可以使用stream流鏈?zhǔn)教幚淼姆绞?,形成新流來達(dá)到預(yù)期效果。

stream操作比較多,這里主要針對map()

舉出下面三個列子

體驗stream().map().collect(Collectors.toList())對于集合元素處理的用法。

package com.base.labguage.java8;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class StreamMap {

    private static class People{
        private String name;
        private Integer age;
        private String address;
		
        // 只給出構(gòu)造方法,忽略get/set細(xì)節(jié)
        public People(String name, Integer age, String address) {
            this.name = name;
            this.age = age;
            this.address = address;
        }

    }

    public static class PeoplePub{
        
        private String name;
        private Integer age;

        // 只給出構(gòu)造方法,忽略get/set細(xì)節(jié)
        public PeoplePub(String name, Integer age) {
            this.name = name;
            this.age = age;
        }
        
        // 重寫toString方法
        public String toString(){
            return "(" + this.name + "," + this.age + ")";

        }

    }

    public static void main(String[] args) {

        List<People> peoples = Arrays.asList(
                new People("zs", 25, "cs"),
                new People("ls", 28, "bj"),
                new People("ww", 23, "nj")
        );

        // List -> String
        List<String> names = peoples.stream().map(p -> p.getName()).collect(Collectors.toList());
        // stream流實現(xiàn)英文字母轉(zhuǎn)大寫
        List<String> upNames = names.stream().map(String::toUpperCase).collect(Collectors.toList());
        // stream流實現(xiàn)數(shù)字乘倍數(shù)
        List<Integer> ages = peoples.stream().map(p -> p.getAge() * 2).collect(Collectors.toList());
        // list - > new List
        List<PeoplePub> peoplePubs = peoples.stream().map(p -> {
            return new PeoplePub(p.getName(), p.getAge());
        }).collect(Collectors.toList());

        System.out.println("to print upnames List : " + upNames);
        System.out.println("to print ages List : " + ages);
        System.out.println("to print new people List" + peoplePubs.toString());

    }

}

控制臺打印結(jié)果:

to print upnames List : [ZS, LS, WW]
to print ages List : [50, 56, 46]
to print new people List[(zs,25), (ls,28), (ww,23)]

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Java創(chuàng)建數(shù)據(jù)透視表并導(dǎo)出為PDF的方法

    使用Java創(chuàng)建數(shù)據(jù)透視表并導(dǎo)出為PDF的方法

    數(shù)據(jù)透視分析是一種強(qiáng)大的工具,可以幫助我們從大量數(shù)據(jù)中提取有用信息并進(jìn)行深入分析,本文將介紹如何使用Java來構(gòu)建PivotTable以及實現(xiàn)數(shù)據(jù)透視分析,并將其導(dǎo)出為PDF
    2023-10-10
  • 淺析Java中print、printf、println的區(qū)別

    淺析Java中print、printf、println的區(qū)別

    以下是對Java中print、printf、println的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • java string 轉(zhuǎn)date方法如何實現(xiàn)

    java string 轉(zhuǎn)date方法如何實現(xiàn)

    在開發(fā)應(yīng)用中經(jīng)常會使用到j(luò)ava string 轉(zhuǎn)date這種不是很常見的做法,本文將以此問題提供詳細(xì)解決方案,需要了解的朋友可以參考下
    2012-11-11
  • Spring?cloud?OpenFeign中動態(tài)URl、動態(tài)傳遞接口地址代碼示例

    Spring?cloud?OpenFeign中動態(tài)URl、動態(tài)傳遞接口地址代碼示例

    openFeign是作為微服務(wù)之間調(diào)用的解決方案,每個微服務(wù)項目是必不可少的,下面這篇文章主要給大家介紹了關(guān)于Spring?cloud?OpenFeign中動態(tài)URl、動態(tài)傳遞接口地址的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • Java中雙向鏈表詳解及實例

    Java中雙向鏈表詳解及實例

    這篇文章主要介紹了Java中雙向鏈表詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 基于Java 談回調(diào)函數(shù)

    基于Java 談回調(diào)函數(shù)

    回調(diào)函數(shù)就是一個通過函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個函數(shù),當(dāng)這個指針被用來調(diào)用其所 指向的函數(shù)時,我們就說這是回調(diào)函數(shù)
    2017-05-05
  • Spring Security 圖片驗證碼功能的實例代碼

    Spring Security 圖片驗證碼功能的實例代碼

    spring security是一系列的過濾器鏈,所以在這里驗證碼也聲明為過濾器,加在過濾器鏈的 登錄過濾器之前,然后自定義一個異常類,來響應(yīng)驗證碼的錯誤信息.這篇文章主要介紹了Spring Security 圖片驗證碼,需要的朋友可以參考下
    2018-03-03
  • Java 八種基本類型和基本類型封裝類

    Java 八種基本類型和基本類型封裝類

    八種基本數(shù)據(jù)類型分別是:int、short、float、double、long、boolean、byte、char;下面跟隨腳本之家小編一起學(xué)習(xí)java八種基本類型和基本類型封裝類
    2017-09-09
  • Struts2攔截器 關(guān)于解決登錄的問題

    Struts2攔截器 關(guān)于解決登錄的問題

    下面小編就為大家?guī)硪黄猄truts2攔截器 關(guān)于解決登錄的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • IDEA-Maven項目的jdk版本設(shè)置方法

    IDEA-Maven項目的jdk版本設(shè)置方法

    我們需要設(shè)置jdk的版本,不然會提示導(dǎo)致語法錯誤,這篇文章主要介紹了IDEA-Maven項目的jdk版本設(shè)置方法,小編覺得不錯,一起來了解一下
    2019-04-04

最新評論