流中的 forEach 和 map 有什么区别?
foreach:对流的每个元素执行操作但不转换或返回数据的终端操作。
map:转换流中的每个元素并返回转换元素的新流。
带有列表的基本 foreach
import java.util.arrays; import java.util.list; public class foreachexample { public static void main(string[] args) { list<string> names = arrays.aslist("alice", "bob", "charlie"); // print each name using foreach names.foreach(name -> system.out.println(name)); } }
示例
List<String> names = Arrays.asList("Alice", "Bob"); names.stream().forEach(System.out::println); // Simply prints each name List<Integer> nameLengths = names.stream() .map(String::length) // Transforms each name to its length .collect(Collectors.toList());