にオブジェクトを格納する私は、私は次のようにJAXBを使用してJavaオブジェクトに変換してるXML持っている:HashMapの
package IRCurves;
import java.io.File;
import java.util.HashMap;
import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
public class XmlToObject {
public static void main(String[] args) {
try {
File file = new File("InterestRates_JPY_20160426.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(InterestRateCurve.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
InterestRateCurve ir= (InterestRateCurve) jaxbUnmarshaller.unmarshal(file);
System.out.println(ir.getEffectiveasof()+" "+ir.getCurrency()+" "+ir.getBaddayconvention());
System.out.println("Deposits:");
List<Deposits> list=ir.getDeposits();
for(Deposits ans:list) {
System.out.println(ans.getDaycountconvention()+" "+ans.getSnaptime()+" "+ans.getSpotdate());
System.out.println("Calenders:");
List<Calenders> list1=ans.getCalenders();
for(Calenders c:list1)
System.out.println(c.getCalender());
System.out.println("Curvepoint:");
List<Curvepoint> list2=ans.getCurvepoint();
for(Curvepoint curve:list2)
System.out.println(curve.getTenor()+" "+curve.getMaturitydate()+" "+curve.getParrate());
}
System.out.println("Swaps:");
List<Swaps> list3=ir.getSwaps();
for(Swaps swap:list3) {
System.out.println(swap.getFixeddaycountconvention()+" "+swap.getFloatingdaycountconvention()+" "+swap.getFixedpaymentfrequency()+" "+swap.getFloatingpaymentfrequency()+" "+swap.getSnaptime()+" "+swap.getSpotdate());
/*System.out.println("Calenders:");
List<Calenders> list1=swap.getCalenders();
for(Calenders c:list1)
System.out.println(c.getCalender());*/
System.out.println("Curvepoint:");
List<Curvepoint> list2=swap.getCurvepoint();
for(Curvepoint curve:list2)
System.out.println(curve.getTenor()+" "+curve.getMaturitydate()+" "+curve.getParrate());
}
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
私は、フォームHashMap<"Deposits_1M", 2016-06-29 -0.00029)
のハッシュ地図にこれを格納したいです、 1M
は、curve.getTenor()
と2016-06-29
を実行して得られる値の1つで、curve.getMaturitydate()
& -.00029
をcurve.getParrate()
で取得します。基本的には、for(Curvepoint curve:list2)
のgetTenor()
の各反復の値を、文字列"Deposits"
、およびcurve.getMaturitydate(
から取得する値)と一緒にキーとして使用し、1つのハッシュマップエントリの値にすることが欲しいです。
どうすればよいですか?エントリを作成するには、次に
Map<String,String> resultsMap = new HashMap<>();
、あなたがMap.putを使用するので、あなたの中: