我已经学会了如何Create an Arraylist of Objects,这样的数组本质上是动态的。例如要创建一个包含3个字段的对象数组(类Matrices的实例),代码如下所示:
ArrayList<Matrices> list = new ArrayList<Matrices>();
list.add( new Matrices(1,1,10) );
list.add( new Matrices(1,2,20) );
此外,Matrices
类是这样的:
public class Matrices{
int x;
int y;
int z;
Matrices(int x,int y, int z){
this.x = x;
this.y = y;
this.z = z;
}
}
现在,我如何访问此数组名称list
中任何元素的每个字段?特别是,如何从这个数组的第二个元素访问20
字段,其值为(1,2,20)?
答案 0 :(得分:8)
您只需使用get
方法:
// 2nd element; Java uses 0-based indexing almost everywhere
Matrices element = list.get(1);
之后使用Matrices
引用做什么取决于你 - 你已经显示了构造函数调用,但是我们不知道这些值是否会作为属性或其他任何内容公开。
通常,当您使用课程时,您应该查看其文档 - 在本例中为documentation for ArrayList
。查看方法列表,尝试找到与您尝试的内容相匹配的内容。
您还应该阅读tutorial on collections以获取有关Java中集合库的更多信息。
答案 1 :(得分:1)
Matrices element = list.get(1);
将完成这项工作。 ArrayList是零索引集合。所以list.get(1)
将给出第二个元素。
您应该检查相关的apis,ArrayList
答案 2 :(得分:0)
我将此视为搜索算法问题。
迭代list
,检查当前迭代的元素是否包含所需的值。
答案 3 :(得分:0)
Matrices m = list.get(1)
请阅读java docs
答案 4 :(得分:0)
您可以从列表中获取Matrices对象:
Matrices m = list.get(0);// fist element in list
m.anyPublicMethod();
答案 5 :(得分:0)
Matrice m = list.get(1);
int twenty = m.getThirdElement(); // or whatever method you named to get the 3rd element (ie 20);
// in one go :
twenty = list.get(1).getThirdElement();