我不知道這是節目的一個更好的辦法,但我可以通過這個
class Entity extends ArrayList<Entity>{
public static int totalCount;
public static int totalListCount;
private String mobileNo;
private String address;
private int count;
public String getMobileNo() {
return mobileNo;
}
public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
totalCount += count;
}
public Entity(String mobileNo, String address, int count) {
super();
this.mobileNo = mobileNo;
this.address = address;
this.count = count;
totalCount += count;
}
public Entity() {
super();
}
public boolean add(Entity entity) {
totalListCount += entity.getCount();
return super.add(entity);
}
}
public class CountEntityInList {
public static void main(String[] args) {
Entity e1 = new Entity("9999999999", "aaa", 10);
Entity e2 = new Entity("9999999999", "aaa", 10);
Entity e3 = new Entity("9999999999", "aaa", 10);
Entity e4 = new Entity("9999999999", "aaa", 10);
Entity e5 = new Entity("9999999999", "aaa", 10);
List<Entity> list = new Entity();
list.add(e1);
list.add(e2);
list.add(e3);
list.add(e4);
list.add(e5);
System.out.println(Entity.totalCount);
Entity e6 = new Entity();
e6.setCount(20);
Entity e7 = new Entity();
e7.setCount(20);
Entity e8 = new Entity();
e8.setCount(20);
Entity e9 = new Entity();
e9.setCount(20);
Entity e10 = new Entity();
e10.setCount(20);
System.out.println(Entity.totalCount);
System.out.println(Entity.totalListCount);
}
}
'得到它私人詮釋雙'?這不會編譯。你的意思是'private int count'? – Andreas
我認爲並行流 – Jerry06
這樣做並沒有什麼錯,但是如果您想要一種替代方式,請使用Java 8 Streams:'int totalCount = accumulations.stream()。mapToInt(Accumulation :: getCount)。 sum();' – Andreas