从java中的列表中访问值

时间:2013-08-08 05:52:12

标签: java list arraylist

这是我的课程之一

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中包含的整数和String的值?我希望只打印它们,但要进一步使用。

{关闭,谢谢大家}

9 个答案:

答案 0 :(得分:3)

只需循环遍历列表:

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

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

答案 1 :(得分: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方法

答案 2 :(得分: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();
}

答案 3 :(得分:0)

假设您已向ArrayList添加值,则可以使用n1.get(0).abn1.get(0).i等代码读取值。

答案 4 :(得分: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);
    }

答案 5 :(得分:0)

您可能首先要将getter方法添加到您的班级编号11中。

e.g

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方法来检索值。

e.g

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());

答案 6 :(得分: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
  }
}

答案 7 :(得分:0)

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

向此list n1添加值后,它将包含从number110的{​​{1}}个类型对象,其中n-1是数字您添加到列表中的元素。 然后你可以按如下方式调用对象

n

它将包含n1.get(1) // this will return 2nd object in the list ab 您可以按如下方式调用它们

i

答案 8 :(得分:0)

List Interface允许:

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

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

迭代访问 - 扩展Iterator语义以利用列表的顺序性

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

获得对象后,您可以访问其字段。