非常に単純なプログラムを実行しようとしていますが、ネストされたリストとマップを宣言する基本に固執しています。
多項式を ArrayList に格納する必要があるプロジェクトに取り組んでいます。各多項式には名前が付けられているため、キー/値マップで多項式の名前 (1、2、3 など) をキーとして取得し、実際の多項式を値として取得する必要があります。
このプログラムの性質上、指数を係数に関連付ける必要があるため、実際の多項式にもキー値が必要です。
たとえば、多項式の ArrayList が必要です。最初のものが単純だとします。
多項式 1: 2x^3
配列リストにはすべてがマップとして含まれており、マップにはキー: 多項式 1 と値: がマップであり、2 と 3 はキー/値です。
私が持っているコードは以下のとおりですが、そのようなネストされたロジックをフォーマットする方法については 100% ではありません。
public static void main(String[] args) throws IOException{
ArrayList<Map> polynomialArray = new ArrayList<Map>();
Map<String, Map<Integer, Integer>> polynomialIndex = new Map<String, Map<Integer, Integer>>();
String filename = "polynomials.txt";
Scanner file = new Scanner(new File(filename));
for(int i = 0; file.hasNextLine(); i++){
//this will eventually scan polynomials out of a file and do stuff
}
編集: Map のキー/値を更新しましたが、まだ問題があります。
上記のコードは私に次のエラーを与えています:
Cannot instantiate the type Map<String,Map<Integer,Integer>>
では、どうすればこれを行うことができますか、それとも間違った方法で行っているのでしょうか?