首頁 > Java > java教程 > 主體

Java 8中的Stream API:如何使用mapToInt()方法將集合對應為int型別

王林
發布: 2023-07-31 21:06:18
原創
4088 人瀏覽過

Java 8中的Stream API:如何使用mapToInt()方法將集合映射為int類型

#引言:
Java 8引入了Stream API,為開發人員提供了更簡潔和高效的集合運算方式。其中一個常用的方法是mapToInt(),它可以將集合中的元素映射為int類型,並傳回一個IntStream。本文將介紹如何使用mapToInt()方法,並提供一些使用範例。

一、mapToInt()方法的介紹

mapToInt()是Stream API中提供的方法,它可以用來將集合中的元素對應到int型別。方法的宣告如下:

IntStream mapToInt(ToIntFunction mapper)

其中,ToIntFunction是函數接口,代表一個輸入型別為T,輸出型別為int的函數。在使用mapToInt()方法時,我們需要傳入一個ToIntFunction實現,用於將集合中的元素轉換為int。

二、使用範例

以下是一些使用mapToInt()方法的範例:

範例1:將字串集合中的元素長度對應為int型別

List<String> list = Arrays.asList("Apple", "Banana", "Orange", "Grapes");
IntStream intStream = list.stream().mapToInt(String::length);
intStream.forEach(System.out::println);
登入後複製

在這個範例中,我們首先建立了一個字串集合list,並使用stream()方法將其轉換為Stream。然後,使用mapToInt()方法將集合中的每個元素的長度對應為int類型,並傳回一個IntStream。最後,我們透過forEach方法輸出每個映射後的int值。

範例2:將物件集合中的某個屬性對應為int型別

假設我們有一個Person類,它有一個age屬性。我們可以透過mapToInt()方法將Person物件集合中的每個人的age屬性映射為int類型。

class Person {
    private int age;
    
    public Person(int age) {
        this.age = age;
    }
    
    public int getAge() {
        return age;
    }
}

List<Person> list = Arrays.asList(
        new Person(20),
        new Person(30),
        new Person(40)
);

IntStream intStream = list.stream().mapToInt(Person::getAge);
intStream.forEach(System.out::println);
登入後複製

在這個範例中,我們首先建立了一個Person類,並在類別中定義了一個age屬性和一個getAge()方法。然後,建立了一個Person物件集合list,並透過stream()方法將其轉換為Stream。接下來,使用mapToInt()方法將集合中的每個Person物件的age屬性對應為int類型,並傳回一個IntStream。最後,我們透過forEach方法輸出每個映射後的int值。

三、小結

本文介紹了Java 8中Stream API的mapToInt()方法,該方法可以將集合中的元素映射為int類型,並傳回一個IntStream。我們透過範例示範如何使用mapToInt()方法,包括將字串集合中的元素長度映射為int類型以及將物件集合中的某個屬性映射為int類型。

使用Stream API和mapToInt()方法,我們可以在程式碼中更簡潔、更有效率地進行集合運算。希望這篇文章對於您理解和使用Java 8中的Stream API有所幫助。

參考資料:

  • Java 8中的Stream API官方文件:https://docs.oracle.com/javase/8/docs/api/java/util/stream /package-summary.html
#

以上是Java 8中的Stream API:如何使用mapToInt()方法將集合對應為int型別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!