0

这是我的一门课

class number11 {
    String ab;
    int i;
    public number11(String ab,int i) {
        this.ab=ab;
        this.i=i;
    }
}

在主要方法中,我使用了

List<number11> n1= new ArrayList<number11>();

如何访问 List 中包含的整数和字符串的值?我只希望打印它们,但要进一步使用。

{关闭,谢谢大家}

4

9 回答 9

3

只需遍历列表:

for (number11 n : list) {
    String ab = n.ab;
    int i = n.i;
    //print ab and i
}

注意number11应该在 CamelCase 中遵循 Java 的约定:Number11.

于 2013-08-08T05:55:36.630 回答
1

像这样

 List<number11> n1= new ArrayList<number11>();
 for(number11  n:n1){
      System.out.println("String value: "+n.ab);
      System.out.println("int value: "+n.i);

 }

根据更好的编码标准。遵循以下规则
1.更改您的班级,使其以骆驼案开头。
2.将变量更改为私有。
3.添加setter和getter方法

于 2013-08-08T05:55:53.743 回答
1

从你的问题看来你想要你的对象列表,

  • 在继续之前,请创建 getter 和 setter,我已经使用过它们
  • 您的班级名称也应该是 camelCase。Number11有效但无效number11

您可以使用填写列表

List<number11> list = new ArrayList<number11>();
list.add(new number11("a",1));
list.add(new number11("b",2));

要访问成员,

for (number11 n : list) {
    String ab = n.getAb();
    int i = n.getI();
}
于 2013-08-08T05:56:25.820 回答
0
    List l = new ArrayList<number11>();
    l.add(new number11("x",1));
    l.add(new number11("y",2));
    for (number11 element : l) {
        System.out.println(element.ab + " "+ element.i);
    }
于 2013-08-08T05:59:01.753 回答
0

您可能首先想将 getter 方法添加到您的类 number11。

例如

public class number11{
    String ab;
    int i;
    public number11(String ab,int i)
    {
        this.ab=ab;
        this.i=i;
    }

    public int getI(){
        return i;
    }

    public String getAb(){
        return ab;
    }
}

您需要通过 get(index) 方法获取对 ArrayList 中保存的特定对象的引用,其中 index 是从 0 开始的元素编号。只需调用 getter 方法即可检索值。

例如

List<number11> n1= new ArrayList<number11>();

//Adding the object
n1.add(new number11("Test", 4));

//Retrieving the object.
number11 inst = n1.get(0);

//Retrieve and print the values
System.out.println(inst.getAb());
System.out.println(inst.getI());
于 2013-08-08T05:59:51.400 回答
0

为了更好的约定,将您的类结构更改为,

class Number11 {
    private String ab;
    private int i;
    public Number11(String ab,int i) {
        this.ab=ab;
        this.i=i;
    }

    public String getAb() {
        return ab;
    }
    public void setAb(String ab) {
        this.ab = ab;
    }

    public int getI() {
        return i;
    }
    public void setI(int i) {
        this.i = i;
    }

}

以这种方式访问​​。

List<number11> n1= new ArrayList<number11>();
if(n1!=null && n1.size()>0){
  for (Number11 n : n1) {
      String ab = n.getAb();
      int i = n.getI();
      //print ab and i
  }
}
于 2013-08-08T06:00:11.003 回答
0

假设您已经向 ArrayList 添加了值,您可以使用诸如n1.get(0).abor之类的代码来读取值n1.get(0).i

于 2013-08-08T05:56:38.243 回答
0
List<number11> n1= new ArrayList<number11>(); 

向此添加值后list n1,它将包含number11从 index0到的类型对象n-1,其中n是您添加到列表中的元素数。然后你可以如下调用任何对象

n1.get(1) // this will return 2nd object in the list

它将包含ab并且i 您可以按如下方式调用它们

n1.get(1).getab // 2nd element ab value in list n1
n1.get(1).i // 2nd element i value in list n1
于 2013-08-08T06:04:41.660 回答
0

List接口允许:

位置访问——根据元素在列表中的数字位置来操作元素

MyClass obj = myList.get(24); //--get 25th item of a List<MyClass>--

迭代访问——扩展迭代器语义以利用列表的顺序特性

for(MyClass obj : myList){ //-- go through all items of a List<MyClass> one by one--
  int i = obj.someField;
}  

一旦你有了你的对象,你就可以访问它的字段。

于 2013-08-08T06:08:37.877 回答