import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
public class Main {
public static void main(String[] args) {
List trades = TradeUtil.createTrades();
Function doubledQty = t -> {
t.setQuantity(t.getQuantity() * 2);
return t.getQuantity();
};
long x = trades.stream()
.map(doubledQty)
.filter(qty -> qty > 15)
.count();
System.out.println(x);
}
}
class TradeUtil {
public static List createTrades() {
List trades = new ArrayList();
Trade t = new Trade(1, "IBM", 10, "NEW");
trades.add(t);
t = new Trade(2, "APPL", 20, "PENDING");
trades.add(t);
t = new Trade(3, "IBM", 30, "NEW");
trades.add(t);
t = new Trade(4, "IBM", 40, "PENDING");
trades.add(t);
return trades;
}
public static List createTrades(int size) {
List trades = new ArrayList<>();
for (int i = 0; i < size; i++) {
Trade t = new Trade(i, "ISUER " + i, i + 1000, "NEW");
trades.add(t);
}
return trades;
}
}
class Trade {
private int tradeId = 0;
private String issuer = null;
private int quantity = 0;
private String status = null;
public Trade(int id, String issuer, int quantity, String status) {
this.tradeId = id;
this.issuer = issuer;
this.quantity = quantity;
this.status = status;
}
public int getTradeId() {
return tradeId;
}
public void setTradeId(int tradeId) {
this.tradeId = tradeId;
}
public String getIssuer() {
return issuer;
}
public void setIssuer(String issuer) {
this.issuer = issuer;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public String toString() {
return "Trade{" + "tradeId=" + tradeId + ", issuer=" + issuer
+ ", quantity=" + quantity + ", status=" + status + '}';
}
}