Java 8中的Stream API:如何使用mapToInt()方法將集合映射為int類型
#引言:
Java 8引入了Stream API,為開發人員提供了更簡潔和高效的集合運算方式。其中一個常用的方法是mapToInt(),它可以將集合中的元素映射為int類型,並傳回一個IntStream。本文將介紹如何使用mapToInt()方法,並提供一些使用範例。
一、mapToInt()方法的介紹
mapToInt()是Stream API中提供的方法,它可以用來將集合中的元素對應到int型別。方法的宣告如下:
IntStream mapToInt(ToIntFunction super T> 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:如何使用mapToInt()方法將集合對應為int型別的詳細內容。更多資訊請關注PHP中文網其他相關文章!