:
List<Student> students = xxxDao.findFromDB();
Map<String, String> map = students.stream().collect(
Collectors.groupingBy(Student::getCardNo,
Collectors.collectingAndThen(
Collectors.mapping(Student::getName,
Collectors.toList()), nameList->nameList.get(0))));
----------------------------------- --------------------分割線---------------------------- --------------------------------------
私は上記の方法ではなくむしろ@FedericoPeraltaSchaffnerのおかげで、私たちが望むものを表現する他のより簡単な方法があります。 CardNo
がユニークであるので、単にラムダを使用する理由Collectors.toMap
List<Student> students = xxxDao.findFromDB();
Map<String, String> map = students.stream().collect(Collectors.toMap(Student::getCardNo, Student::getName));
'nameList'とは何ですか?データを取得する関数を呼び出す代わりに 'ResulSet'を直接使う方法はありますか? –
'cardNo'はユニークなので、' Collectors.toMap() 'を使う方がはるかに良いです。 –
@FedericoPeraltaSchaffnerああ、いい考えです。ありがとう、私は今それを追加しています。 – Tony