C# Java中的行[“列”][rowIndex]可以使用什么数据收集?

C# Java中的行[“列”][rowIndex]可以使用什么数据收集?,c#,java,collections,C#,Java,Collections,我试图找到C#DataRow类中使用的类似或等效的数据收集,它允许我选择列名和行索引 Java中是否可以使用类似的东西?实现Map的东西可能会满足您的需要,例如: Map<String, List<Integer>> data = new HashMap<String, List<Integer>>(); // ... data.put("column", new ArrayList<Integer>()); Map data=new

我试图找到C#DataRow类中使用的类似或等效的数据收集,它允许我选择列名和行索引


Java中是否可以使用类似的东西?

实现
Map
的东西可能会满足您的需要,例如:

Map<String, List<Integer>> data = new HashMap<String, List<Integer>>();
// ...
data.put("column", new ArrayList<Integer>());
Map data=newhashmap();
// ...
put(“column”,newarraylist());

但也许我误解了你的问题。

这与艾蒂安·德·马特尔的回答有些相似,但我强烈建议使用各种地图。HashMap几乎肯定是最好的方法

首先,我将创建一个2D值数组,出于区分的目的,我将它们称为double:

Double[][] values = new Double[colNum][rowNum];
然后,我会为每个列名映射一个整数:

Map <String, Integer> map = new HashMap<String, Integer>();
map.add("Column_0_Name",0);
map.add("Column_1_Name",1);
map.add("Column_2_Name",2);
map.add("Column_3_Name",3);
//...
map.add("Column_(colNum-1)_Name",colNum-1);

请注意,您不能在Java集合中使用原语,因为它们不是对象(并且不可为null),列表应该是正确的。我对C#知之甚少,但我相信情况有所不同,“int”在某种程度上是int(eger)的别名,它是对象。@Arturs Ooops,太多C#了!谢谢事实上,C#中的int是System.Int32的别名,System.Int32是一个结构(或者更确切地说,是一个“值类型”)。如果您检索并希望保存DB行以遍历它们,java.sql.ResultSet会这样做吗?
public double getValue(String columnName, int row){
 int colNum = map.get(columnName);
 return values[colNum][row];
}