同じドメインオブジェクトの2つのArrayListを結合して合計したい(特定のプロパティ)。複数のプロパティマッチングの条件に基づいて、それらを1つに結合します。ここでオブジェクトのArrayListとJavaのBigDecimalの合計を結合します
は私のモデルクラスは、一例として、以下のものを使用して
public class SalesTransactionTax {
private String code;
private BigDecimal rate;
private Boolean isFixed;
private BigDecimal taxAmount;
public SalesTransactionTax(String code, BigDecimal rate, Boolean isFixed, BigDecimal taxAmount) { // NO_UCD
// (unused
// code)
this.code = code;
this.rate = rate;
this.isFixed = isFixed;
this.taxAmount = taxAmount;
}
public SalesTransactionTax() {
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public BigDecimal getRate() {
return rate;
}
public void setRate(BigDecimal rate) {
this.rate = rate;
}
public Boolean getIsFixed() {
return isFixed;
}
public void setFixed(Boolean fixed) {
isFixed = fixed;
}
public BigDecimal getTaxAmount() {
return taxAmount;
}
public void setTaxAmount(BigDecimal taxAmount) {
this.taxAmount = taxAmount;
}
@Override
public String toString() {
return "SalesTransactionTax [code=" + code + ", rate=" + rate + ", isFixed=" + isFixed
+ ", taxAmount=" + taxAmount + "]";
}
}
です:新しいArrayListの中
List<SalesTransactionTax> taxes = new ArrayList<>();
taxes.add(new SalesTransactionTax("VAT_1", 5.000, true, 1.100));
taxes.add(new SalesTransactionTax("VAT_1", 5.000, true, 1.100));
taxes.add(new SalesTransactionTax("VAT_2", 9.000, true, 2.200));
taxes.add(new SalesTransactionTax("VAT_2", 9.000, true, 2.200));
taxes.add(new SalesTransactionTax("VAT_2", 9.000, true, 2.200));
taxes.add(new SalesTransactionTax("VAT_2", 9.000, false, 9.500));
taxes.add(new SalesTransactionTax("VAT_3", 7.000, true, 1.000));
値は次のようになります。
- 真VAT_1、5.000、 2.200
- VAT_2,9.00、true、6.600 偽
- VAT_2、9.000、9.500
- 真VAT_3、7.000、1.000 のJava 8を使用して
は、多分ラムダ式は、移動するための方法だろうか?ご意見ありがとうございます。
'SampleModel'クラスとは何ですか? – Yahya
@Yahyaそれは私の悪い矯正でした。 – SiriusBits