¡Deja de decir tonterías y solo instálalo! ! !
Método distinto () de Stream (requiere equals () y hashCode ())
List< PenBean> newPenBeanList = penBeanList.stream( ) .distinct( ) .collect( Collectors.toList( )) ;
Desduplicación según un atributo de objeto en lista
//根据user的account属性去重
List< User> list = users.stream( ) .collect( Collectors.collectingAndThen( Collectors.toCollection(( ) - > new TreeSet< > ( Comparator.comparing( o - > o.getAccount( )) )) ,ArrayList::new)) ;
## 获取集合第一个对象 没有就返回为null;
```bash
list.stream().findFirst().orElse(null);
Obtener todos los valores de los atributos de los objetos de la lista.
//获取PmsProductCategory集合里面PmsProductCategory的id
List< Long> cid = categories.stream( ) .map( PmsProductCategory::getId) .collect( Collectors.toList( )) ;
la lista se agrupa de acuerdo con un determinado atributo del objeto
//按照pmsProduct的productCategoryId进行分组
Map< Long, List< PmsProduct>> productMap = pmsProducts.stream( ) .collect( Collectors.groupingBy( PmsProduct::getProductCategoryId)) ;
/**
* String字符串转成List< Long> 数据格式
* String str = "1,2,3,4,5,6" -> List< Long> listLong [ 1,2,3,4,5,6] ;
*
* @param strArr
* @return
*/
private List< Long> stringToLongList( String strArr) {
return Arrays.stream( strArr.split( "," ))
.map( s -> Long.parseLong( s.trim( )) )
.collect( Collectors.toList( )) ;
}
Convertir colección de tipo largo en colección de tipo String
Set< String> skuStr= skuIds.stream( ) .map( String::valueOf) .collect( Collectors.toSet( )) ;
Ordenar según un determinado atributo del objeto
list.stream( ) .sorted( Comparator.comparing( Product::getId) .reversed( )) .collect( Collectors.toList( )) ;
Obtener una colección de una propiedad de objeto
List< Long> orderId = omsOrderPage.getRecords( ) .stream( ) .map( OmsOrder::getId) .collect( Collectors.toList( )) ;