map
方法在Java的Stream API中是一个非常有用的函数,它允许你对流中的每个元素执行一个指定的操作,并将其映射为新的元素。这个方法的用途很多,其中包括:
-
转换数据类型: 你可以将一个类型的流转换成另一个类型的流。比如,将字符串流转换成整数流,或者将对象流映射成某个属性的流。
List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); List<Integer> nameLengths = names.stream() .map(String::length) .collect(Collectors.toList());
-
提取或计算属性: 当你有一组对象时,可以通过
map
提取或计算每个对象的特定属性,形成一个新的流。List<Person> persons = Arrays.asList(new Person("Alice", 25), new Person("Bob", 30)); List<String> names = persons.stream() .map(Person::getName) .collect(Collectors.toList());
-
数据重组或转换: 你可以根据流中的数据,进行重新组合、调整结构或重新格式化数据,生成一个新的流。
List<String> sentences = Arrays.asList("Hello world", "Good morning"); List<String> words = sentences.stream() .map(sentence -> sentence.split(" ")) .flatMap(Arrays::stream) .collect(Collectors.toList());
map
方法的强大之处在于,它能够让你对流中的元素进行灵活的转换操作,帮助你轻松地处理数据,进行各种处理和转换,以满足你的需求。