Java önceden tanımlanmış nesnenin bir ArrayList sorgulamak

oy
1

Ben bu verileri ayrıştırmak bir ArrayList (inputList) sahiptir:

id,name,quantity
1,foo,10
2,bar,20
3,foo,10
4,bar,10
5,qwerty,1

Kod:

...
List<FooRow> inputList = new ArrayList<FooRow>();
inputList = br.lines().map(mapToFooRow).collect(Collectors.toList());
...

public class FooRow{
private Integer id;
private String name;
private Integer value;
}

Ben adıyla gruplandırılmış değerin sayısı ile bana bir listesini döndürür bir toplayıcıları oluşturmak istiyorum:

name,value
foo,20
bar,30
qwerty,1

Nasıl lambda ifadede bunu yapmanın bir sınıf Koleksiyonerler oluşturabilirim? Teşekkürler.

Oluştur 19/09/2018 saat 13:36
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
2

Sen kullanabilirsiniz Collectors.groupingByve Collectors.summingInt:

Map<String, Integer> result =
    inputList.stream()
             .collect(Collectors.groupingBy(
                 FooRow::getName, Collectors.summingInt(FooRow::getValue)));
Cevap 19/09/2018 saat 13:49
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more