lambda 우아한 추출 대상list의 어떤 속성이 중복된 집합 데이터
12772 단어 2019
arrays.stream()
.collect(Collectors.groupingBy(a->a.getField(),Collectors.counting()))
.entrySet.stream()
.filter(entry->entry.getValue()>1)
.map(entry->entry.getKey())
.collect(Collectors.toList());
코드를 붙이다
package com.cmai.lambda;
import com.alibaba.fastjson.JSON;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
* @author cmai
* @date 2019/6/14
*/
@SuppressWarnings("ALL")
public class Test {
public static List<Dog> dogs = null;
static {
dogs = new ArrayList<Dog>(){
{
add(new Dog(" ",11));
add(new Dog(" ",22));
add(new Dog(" ",33));
}
};
}
@SuppressWarnings("AlibabaAvoidManuallyCreateThread")
public static void main(String[] args) {
List<String> list =dogs.stream().
collect(Collectors.groupingBy(dog->dog.getName(),Collectors.counting()))
.entrySet().stream()
.filter(entry->entry.getValue()>1)
.map(entry->entry.getKey())
.collect(Collectors.toList());
System.out.println(list.toString());
// Test.dogs.forEach(dog-> System.out.println("Lambda1:"+dog.getName()));
//
// Test.dogs.forEach((dog)-> System.out.println("Lambda2:"+dog.getName()));
//
// //noinspection AlibabaAvoidManuallyCreateThread
// new Thread(()->{
// System.out.println("lambda3:"+Thread.currentThread().getName());
// }).start();
//
// StringBuffer sb = new StringBuffer();
// sb.append("1");
// Runnable runnable=()-> System.out.println("lambda4:"+Thread.currentThread().getName());
// new Thread(runnable).start();
//
// Test.dogs.stream()
// .filter((dog)->dog.getAge()>18)
// .forEach((dog)-> System.out.println("lambda5:"+dog.getAge()));
//
// Consumer consumer = (dog)-> System.out.println("lambda6:"+dog.getAge());
// Predicate dogPredicate =(dog)->dog.getAge()>18;
// Test.dogs.stream()
// .filter(dogPredicate)
// .limit(1)
// .forEach(consumer);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
2019-01-30텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.