当前位置: 首页 > 知识库问答 >
问题:

使用ArrayList检索属性?

郑向阳
2023-03-14
*import java.util.*;  
public class UserArrayList {
    public static void main(String[] args) {
        //Creating user defined class objects  
        Student s1=new Student(1,"AAA",13);  
        Student s2=new Student(2,"BBB",14);  
        Student s3=new Student(3,"CCC",15); 
        ArrayList<Student> al=new ArayList<Student>();
        al.add(s1);
        al.add(s2);  
        al.add(s3);  
        Iterator itr=al.iterator();  
        //traverse elements of ArrayList object  
        while(itr.hasNext()){  
            Student st=(Student)itr.next();  
            System.out.println(st.rollno+" "+st.name+" "+st.age);  
        }  
    }
}
class Student{  
    int rollno;  
    String name;  
    int age;  
    Student(int rollno,String name,int age){  
        this.rollno=rollno;  
        this.name=name;  
        this.age=age;  
    }  
} 

如何使用ArrayList检索Student类的单个属性,或者检查列表中是否存在“AAA ”?

共有1个答案

倪培
2023-03-14

刚刚添加了两行,顺便说一下,在创建ArrayList时,代码中有错误。你写的“ArayList”是错误的。

方法1。

public static void main(String[] args) {
            //Creating user defined class objects  
            Student s1=new Student(1,"AAA",13);  
            Student s2=new Student(2,"BBB",14);  
            Student s3=new Student(3,"CCC",15); 
            ArrayList<Student> al=new ArrayList<Student>(); // YOU HAVE MISTAKE HERE ArayList<Student>()
            al.add(s1);
            al.add(s2);  
            al.add(s3);  
            Iterator itr=al.iterator();  
            //traverse elements of ArrayList object  
            while(itr.hasNext()){  
                Student st=(Student)itr.next();  
                System.out.println(st.rollno+" "+st.name+" "+st.age);  
                if(st.name.equals("AAA"))  // LINE ADDED
                    System.out.println("present!"); // LINE ADDED

            }  
        }
    }
    class Student{  
        int rollno;  
        String name;  
        int age;  
        Student(int rollno,String name,int age){  
            this.rollno=rollno;  
            this.name=name;  
            this.age=age;  
        }  

方法2 -

  Student find = al.stream().filter(s -> s.name.equals("AAA")).findFirst().orElse(null);
        if(find != null)
            System.out.println("AAA is present");
 类似资料:
  • 我正在尝试使用MapStruct映射两个对象。我已经搜索了一段时间,但没有找到任何东西,尽管我是编程新手,所以我相信这比我现在做的要容易。 下面是一些精简的代码(请注意,真正的代码更复杂,arraylist中的子对象与目标对象子变量的类型不同): 源对象 可以通过 目标对象 细节主题 制图器 如果我将DetailsObject直接放在SourceObject中,这将正常工作,但是当我试图从列表中获

  • 问题内容: 我正在学习Java,并且遇到了和的问题。 我有一个称为的对象,该对象具有从另一个名为的类创建的对象的数组列表。 我需要一种方法,其中返回item列表中一个对象的所有信息。 该随意选择的需求。 当我尝试编译时,出现错误,指出System.out.println行说.. 问题答案: 是一个方法,调用在你的return语句之后,因此由于无法访问而无法进行编译。 可能希望将其重写为:

  • 我正在编写一个程序来模拟咖啡馆中的一个系统,在这个系统中,接受顾客订单的人给顾客一个代币号码,并将顾客的代币号码以及他/她订购的物品输入到一个系统中。recordOrder功能执行此操作,允许输入订单详细信息。订单由令牌ID、tID和表示订单中项目的字符串数组列表表示。 以下是我到目前为止所做的: 问题是,只有我输入的最后一个项目被打印出来,也就是说,假设我输入的令牌编号为9,项目编号为3,项目名

  • 问题内容: 如何在带注释的方法上检索注释的值? 我有: 问题答案: 获取实例。 获取注释。 获取注释属性值。 就像是: 当然,您需要捕获/处理适当的异常。上述假定您确实是从当前类检索方法(替换用其他方式)和有关方法是公共的(使用,如果事实并非如此)

  • 问题内容: 我有一个Java对象’ChildObj’,它是从’ParentObj’扩展而来的。现在,是否可以使用Java反射机制来检索ChildObj的所有属性名称和值,包括继承的属性? Class.getFields为我提供了公共属性的数组,而Class.getDeclaredFields为我提供了所有字段的数组,但是它们都不包含继承的字段列表。 有没有办法检索继承的属性呢? 问题答案: 不,你

  • 问题内容: Java中是否有一种方法,只需指定开始索引和结束索引,即可将对象列表从Arraylist获取到另一个ArrayList? 问题答案: 是的,您可以使用以下方法: 这将返回原始列表那部分的视图,它不会复制数据。 如果要复制: