Listから重複排除
distinct() を使用する。
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class DistinctTest {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("b");
list = list.stream().distinct().collect(Collectors.toList());
System.out.println(list);
}
}
実行結果
[a, b, c]
List<String>をList<Integer>に変換する
map() を使用する。
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
public class MapTest {
public static void main(String[] args) {
List<String> strlist = new ArrayList<>();
strlist.add("10");
strlist.add("20");
strlist.add(null);
strlist.add("30");
List<Integer> intList = strlist.stream()
.filter(str -> Objects.nonNull(str))
.map(str -> Integer.parseInt(str))
.collect(Collectors.toList());
System.out.println(intList);
}
}
実行結果
[10, 20, 30]
Listの各Dtoのプロパティに値を設定する
forEach() を使用する。
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import zzz.test.dto.MasterDto;
public class ForEachTest {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR, -1); // 1年前の日付
Date date = cal.getTime();
List<MasterDto> l = new ArrayList<>();
MasterDto m1 = new MasterDto();
m1.setId(1);
m1.setCreateTime(date);
m1.setUpdateTime(date);
l.add(m1);
MasterDto m2 = new MasterDto();
m2.setId(2);
m2.setCreateTime(date);
m2.setUpdateTime(date);
l.add(m2);
l.forEach(m -> System.out.println(m.getUpdateTime()));
// updateを現在日付で入れ替え
Date now = new Date(); // 現在日付
l.forEach(m -> m.setUpdateTime(now));
l.forEach(m -> System.out.println(m.getUpdateTime()));
}
}
実行結果
Wed Oct 26 18:31:22 JST 2022
Wed Oct 26 18:31:22 JST 2022
Thu Oct 26 18:31:22 JST 2023
Thu Oct 26 18:31:22 JST 2023