gpt4 book ai didi

java - 搜索 ArrayList 对象

转载 作者:太空宇宙 更新时间:2023-11-04 12:57:31 26 4
gpt4 key购买 nike

public class favoriteshow {

String name = null;
int age = 0;
String show = null;

public Lab2(String name, int age, String show){
this.name = name;
this.age = age;
this.show = show;
}

public String toString(){
return "Name " + name + " age: " + age + " Favorite show: " + show;
}

}

我的主要类(class):

public class NewClass {
public static void main(String args[]){
int x = 0;

ArrayList<favoriteshow> arraylist = new ArrayList<favoriteshow>();

while( x < 5){
String name;
int age = 0;
String show;

Scanner scanner = new Scanner(System.in);

System.out.print("Enter a name: ");
name = scanner.nextLine();

System.out.print("Enter an age: ");
age = scanner.nextInt();

System.out.print("Enter a show: ");
show = scanner.nextLine();

Lab2 nub1 = new Lab2 (name, age , show);




arraylist.add(nub1);
x++;

}

System.out.println(arraylist);


}
}

(我知道我的 while 循环只重复 5 次,因为我只是在测试它。)

所以我有一个数组列表,用户可以在其中输入人名、年龄和最喜欢的节目。我想包含一个搜索功能,因此,如果我要求用户输入姓名,它将显示所有具有相同姓名的人的信息,而不仅仅是第一个人。我还希望它能告诉我这个人在名单上的号码。例如,如果我有 5 个人,其中 2 个具有相同的名字,并且他们是 2 和 4 位置,那么它会告诉我他们是第二和第四位置。

最佳答案

只需像普通数组一样迭代 ArrayList 索引并与所需字段进行比较,例如:

public void searchAndShow(String name) {
for (int i = 0; i < arraylist.size(); i++) {
favoriteshow fs = arraylist.get(i);
if (fs.getName().equals(name)) {
System.out.println(i + " - " + fs);
}
}

关于java - 搜索 ArrayList 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35247376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com