JavaとPHPの配列でのmapの使い方比較

こんにちは。
いつものtaanatsuです。

ExciteのMedia事業部では、PHPからJavaへのリビルドを行っております。
私は根っからのPHPerで、Javaを触ったことがないので勉強しながらやっておりますが、
その際にPHParray_mapJavaで表現する方法を調べたのでメモ書き程度ではありますがまとめます。

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慣れしていきたいと思います。
ではまた次回!