java - 使用 ArrayList 检索属性?
问题描述
*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”?
解决方案
刚刚添加了两行,顺便说一句。创建 ArrayList 时,该代码中有错误。你写的“ArayList”是错误的。
方法一。
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 -> Java 8 或更高版本
Student find = al.stream().filter(s -> s.name.equals("AAA")).findFirst().orElse(null);
if(find != null)
System.out.println("AAA is present");
推荐阅读
- vb.net - 无法向 tableadapter 添加查询
- c# - 单一仓库中软件包的独立版本控制
- javascript - 如何为所有选项卡设置相同的背景图像?(反应原生)
- svgpanzoom - 将绘图居中到特定视图框中的点
- shell - 脚本手动运行,在 Cron 中不起作用
- sql - 如何将数据从一个表插入另一个表并用所需数据填充其他列
- c# - ASP MVC 中的 Jquery dataTables serverSide
- python - 如何集成两个独立的 Flask 应用程序
- ios - 在 SPA 中导航时,iOS Webview 不会更改 url
- javascript - 如何使用jquery将特定类添加到锚标记的href等于URL?