练习5:main()方法中定义一个集合,存入三个用户对象
用户属性为:id,username,password
要求:定义一个方法,根据id查找对应的用户信息,如果存在返回true,不存在返回false
package Test1;
public class User {
private String id;
private String username;
private String password;
public User() {
}
public User(String id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package Test1;
import java.util.ArrayList;
public class ArrayListDemo7 {
public static void main(String[] args) {
//1.创建集合
ArrayList<User> list = new ArrayList<>();
//2.创建三个用户对象
User u1 = new User("kongge001", "luhan", "7777777");
User u2 = new User("kongge002", "tiankong", "198234");
User u3 = new User("kongge003", "cifer", "xfyy18");
//3.把用户对象添加到集合当中
list.add(u1);
list.add(u2);
list.add(u3);
//4.调用方法查看id是否存在
boolean flag=contains(list,"kongge001");
System.out.println(flag);
}
public static boolean contains(ArrayList<User> list, String id) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getId().equals(id)) {
//list.get(i)拿到用户对象,再.getId拿到用户对象的id,再和要查询的id比较
return true;
}
}
return false;
}
}
运行结果:

练习6:若上面题目改成查到返回索引,没查到返回-1
JavaBean代码不变,方法改一下就行
package Test1;
import java.util.ArrayList;
public class ArrayListDemo8 {
public static void main(String[] args) {
//main()方法中定义一个集合,存入三个用户对象
//用户属性为:id,username,password
//要求:定义一个方法,根据id查找对应的用户信息,如果存在返回索引,不存在返回-1
//1.创建集合
ArrayList<User> list = new ArrayList<>();
//2.创建三个用户对象
User u1 = new User("kongge001", "luhan", "7777777");
User u2 = new User("kongge002", "tiankong", "198234");
User u3 = new User("kongge003", "cifer", "xfyy18");
//3.把用户对象添加到集合当中
list.add(u1);
list.add(u2);
list.add(u3);
//4.查找索引
int index=getIndex(list,"kongge003");
System.out.println(index);
}
public static int getIndex(ArrayList<User> list,String id){
for (int i = 0; i < list.size(); i++) {
User u=list.get(i);
String uid=u.getId();
if(uid.equals(id)){
return i;
}
}
return -1;
}
}
运行结果:

如果需要两个方法都调用,直接在contains里面调用getIndex(),将contains的代码改为一句
return getIndex(list,id)>=0;其他不变就可以了
练习7:添加手机对象并返回要求的数据
要求:定义JavaBean类:Phone,Phone的属性:品牌,价格
main方法中定义一个集合,存入三个手机对象:小米,1000; 苹果,8000;oppo 2999
定义一个方法将价格低于3000的手机信息返回
因为本题是返回多个对象,所以:
//技巧:如果要返回多个数据,可以先把这些数据放到一个容器当中,再把容器返回,容器可以是集合或数组
JavaBean:
package Test1;
public class Phone {
private String brand;
private int price;
public Phone() {
}
public Phone(String brand, int price) {
this.brand = brand;
this.price = price;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
package Test1;
import java.util.ArrayList;
public class ArrayListDemo9 {
public static void main(String[] args) {
//1.创建集合对象
ArrayList<Phone> list=new ArrayList<>();
//2.创建手机对象
Phone p1=new Phone("小米",1000);
Phone p2=new Phone("苹果",8000);
Phone p3=new Phone("OPPO",2999);
//3.添加数据
list.add(p1);
list.add(p2);
list.add(p3);
//4.调用方法
ArrayList<Phone> phoneInfoList=getPhoneInfo(list);
//5.遍历集合
for (int i = 0; i < phoneInfoList.size(); i++) {
Phone phone=phoneInfoList.get(i);
System.out.println(phone.getBrand()+", "+phone.getPrice());
}
}
//技巧:如果要返回多个数据,可以先把这些数据放到一个容器当中,再把容器返回,容器可以是集合或数组
public static ArrayList<Phone> getPhoneInfo(ArrayList<Phone> list){
ArrayList<Phone> resultList=new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Phone p=list.get(i);
int price=p.getPrice();
if(price<3000){
resultList.add(p);
}
}
return resultList;
}
}
运行结果:

文章讲述了如何在Java中使用ArrayList存储User和Phone对象,实现根据id查找用户、返回索引以及筛选价格低于3000的手机信息的方法。
&spm=1001.2101.3001.5002&articleId=136790961&d=1&t=3&u=679fafffea9f47f4a5c0541cb3d0fcb8)
4551

被折叠的 条评论
为什么被折叠?



