แปลงและรวบรวมชื่อเมืองที่ไม่ซ้ำกัน
บริษัททัวร์แห่งหนึ่งเก็บชื่อเมืองเป็นตัวพิมพ์เล็ก ก่อนนำไปแสดงในโบรชัวร์ จำเป็นต้องแปลงชื่อเมืองทั้งหมดให้เป็นตัวพิมพ์ใหญ่ และเก็บไว้ใน Set เพื่อให้มั่นใจว่าไม่มีชื่อซ้ำกัน
คลาส util และ stream ที่จำเป็นทั้งหมดได้ถูก import ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Input/Output และ Streams ใน Java
คำแนะนำการฝึกหัด
- แปลงชื่อเมืองแต่ละชื่อให้เป็นตัวพิมพ์ใหญ่โดยใช้
.map() - รวบรวมผลลัพธ์โดยใช้
.collect() - เก็บผลลัพธ์ใน
Setโดยใช้กลยุทธ์การรวบรวมที่กำหนดไว้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
public class CityProcessor {
public static void main(String[] args) {
List cities = List.of("paris", "london", "new york", "paris");
Set uniqueUppercaseCities = cities.stream()
// Convert each city name to uppercase
.____(city -> city.toUpperCase())
// Collect the result and store in a Set
.____(____);
System.out.println(uniqueUppercaseCities);
}
}