こんにちは。
いつものtaanatsuです。
ExciteのMedia事業部では、PHPからJavaへのリビルドを行っております。
私は根っからのPHPerで、Javaを触ったことがないので勉強しながらやっておりますが、
その際にPHPの array_map
をJavaで表現する方法を調べたのでメモ書き程度ではありますがまとめます。
array_mapとは?
与えられた配列(array)に、なんかしらの処理(コールバック関数で処理)をして、arrayで返すものです。
https://www.php.net/manual/ja/function.array-map.php
私はよく foreach
を消すために使ったりしています。
例
<?php $numberList = [1, 2, 3, 4, 5,]; $result = []; foreach ($numberList as $number) { $result[] = $number + 1; } var_dump($result);
↓
<?php $numberList = [1, 2, 3, 4, 5,]; $result = array_map(function ($number) { return $number + 1; }, $numberList); var_dump($result);
Javaでmap処理
streamというものを使うようです。
import java.util.List; public class test { public static void main(String[] args) { List<Integer> numberList = List.of(1, 2, 3, 4, 5); List<Integer> result = numberList .stream() .map(num -> num + 1) .toList(); System.out.println(result); } }
lambda式が慣れてないと若干わかりにくいですね。
(PHPもアロー関数なるものが出てきてますが、まだ使いこなせていません。。。)
少しずつJava慣れしていきたいと思います。
ではまた次回!