【发布时间】:2013-07-09 07:06:24
【问题描述】:
我正在尝试运行一个非常简单的程序,但我停留在声明嵌套列表和映射的基础知识上。
我正在做一个需要我将多项式存储到 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>>
那么我该怎么做呢,还是我只是做错了?
【问题讨论】:
-
您在寻找
List<Integer,Map<Integer,Map<Integer,Integer>>吗? -
更像 ArrayList
-
那么就像
ArrayList<Map<String, Map<Integer,Integer>>>,Map有一个键值对。 -
你不能为你的多项式创建一个
class,然后使用List<Polynomial> = new ArrayList<>吗?