import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
public class Main {
static List<Trade> trades = TradeUtil.createTrades();
public static void main(String[] args) {
Stream.of(1,2,3).map(id -> getTradeById(id)).forEach(System.out::println);
trades.stream().map(t -> t.getQuantity()).forEach(System.out::println);
}
private static Optional<Trade> getTradeById(int tradeId) {
Optional<Trade> trade = trades.stream()
.filter(t -> t.getTradeId() == tradeId).findFirst();
return trade;
}
}
class TradeUtil {
public static List<Trade> createTrades() {
List<Trade> trades = new ArrayList<Trade>();
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<Trade> createTrades(int size) {
List<Trade> 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 + '}';
}
}
運(yùn)行結(jié)果如下: