我需要你的幫助範圍的列表,的Java 8組值的列表到使用收藏家
在Java 8中使用收藏家groupingBy我需要一羣這樣
ValueObject {id=1, value=2.0}
ValueObject {id=2, value=2.0}
ValueObject {id=3, value=2.0}
ValueObject {id=4, value=3.0}
ValueObject {id=5, value=3.0}
ValueObject {id=6, value=4.0}
ValueObject {id=7, value=4.0}
ValueObject {id=8, value=4.0}
ValueObject {id=9, value=4.0}
ValueObject {id=10, value=4.0}
在另一個
列表一個這樣的
GroupedObject {from=1, to=3, value=2.0}
GroupedObject {from=4, to=5, value=3.0}
GroupedObject {from=6, to=10, value=4.0}
這些都是對象的定義我使用
public class ValueObject {
private int id;
private double value;
public String getId() {
return id;
}
public float getValue() {
return value;
}
public void setValue(float value) {
this.value = value;
}
}
public class GroupedObject {
private int from;
private int to;
private double value;
public int getFrom() {
return from;
}
public void setFrom(int from) {
this.from = from;
}
public int getTo() {
return to;
}
public void setTo(int to) {
this.to = to;
}
public double getValue() {
return value;
}
public void setValue(double value) {
this.value = value;
}
}
這就是我如何以編程方式。
這是單元測試
public class ServiceTest {
Service service = new Service();
@Test
public void testgGoupToRange() {
List entryList = new ArrayList<>();
entryList.add(new ValueObject(1, 2.0));
entryList.add(new ValueObject(2, 2.0));
entryList.add(new ValueObject(3, 2.0));
entryList.add(new ValueObject(4, 3.0));
entryList.add(new ValueObject(5, 3.0));
entryList.add(new ValueObject(6, 4.0));
entryList.add(new ValueObject(7, 4.0));
entryList.add(new ValueObject(8, 4.0));
entryList.add(new ValueObject(9, 4.0));
entryList.add(new ValueObject(10, 4.0));
List responseList = service.groupToRange(entryList);
responseList.forEach(obj-> System.out.println(obj.toString()));
assertNotNull(responseList);
assertEquals(3, responseList.size());
}
}
我沒有帶發現這樣做絲毫的Java 8和收藏家
是的,你寫的軟件做到這一點。在將問題拋給別人解決之前,請投入最少的努力。 –
對不起,我已經做到了。但我想知道是否有使用收集器groupingBy的方法。 –
提供的ValueObject定義不能編譯。 – GuiSim