Die Verwendung von Stream Stream, einer neuen Funktion von JDK8

1. Rufen Sie schnell eine Sammlung bestimmter Elemente aus einer Objektsammlung ab, z. B. eine ID-Sammlung aus einer Rollenliste:

List<long> idList = roleList.stream().map(CameraRole::getCameraId).collect(Collectors.toList());

2. Konvertieren Sie die Objektsammlung in eine andere Objektsammlung, zum Beispiel:

List<CameraGroupVO> collect = list.stream().map(this::entityVO).collect(Collectors.toList());

3. Rufen Sie die Zeichenfolgenverkettung eines Elements aus der Objektsammlung ab, beispielsweise die Zeichenfolgenverkettung der Abteilungs-ID:

String idsStr = deptList.stream().map(dept -> Func.toStr(dept.getId())).distinct().collect(Collectors.joining(","));

4. Filtern Sie die Objektsammlung nach einer bestimmten Bedingung. Filtern Sie beispielsweise die Menüsammlung, um die Menüsammlung zu erhalten, die die Bedingungen erfüllt:

List<Menu> collect = routes.stream().filter(x -> Func.equals(x.getCategory(), 1)).collect(Collectors.toList());

5. Konvertieren Sie die Objektsammlung in Map<Long, Object>. Konvertieren Sie beispielsweise die Objektsammlung in eine Map, in der der Schlüssel der Primärschlüssel und der Wert das Objekt ist:

Map<Long, StrategyCustomerLabel> map = labelList.stream().collect(Collectors.toMap(StrategyCustomerLabel::getId, o -> o));

6. Gruppieren Sie die Objektsammlung gemäß einer bestimmten Regel in einer Karte. Gruppieren Sie beispielsweise die Rechnungssammlung gemäß dem eindeutigen Code des Benutzers:

Map<String,List<FinanceCustomerTotalBill>> uniqueCodeMap = billList.stream().collect(Collectors.groupingBy(FinanceCustomerTotalBill::getUniqueCode));

Supongo que te gusta

Origin blog.csdn.net/weixin_38863607/article/details/132339546
Recomendado
Clasificación