我有两个包含两种类型对象的数组列表。他们是两种类型的用户。我输入了一个id(两种类型的用户都有唯一的整数id),想知道用户是否存在于两个数组列表中。
ArrayList<Artist> artist = new ArrayList();
ArrayList<Customer> customer = new ArrayList();
class Artist implements User{
private String name;
private int a_id = 0;
private ArrayList<ArrayList> albums = new ArrayList();
private int money;
private int ma = 999;
private int mi = 100;
public Artist(String name) {
this.name = name;
a_id = (int)(Math.random()*((ma - mi) + 1)) + mi;
}
}
...<i>getters and setters</i>
class Customer implements User {
private String name;
private int subscription = 1;
private int due = 0;
private int c_id = 0;
private int ma = 9999;
private int mi = 1000;
public Customer(String name) {
this.name = name;
c_id = (int) (Math.random() * ((ma - mi) + 1)) + mi;
}
}
...<i>getters and setters</i>
最佳答案
使用anyMatch
方法和||
:
public boolean exist(ArrayList<Artist> artist, ArrayList<Customer> customer, int id) {
return artist.stream().anyMatch(user -> user.getA_id() == id) ||
customer.stream().anyMatch(user -> user.getC_id() == id);
}
关于java - 在 2 个数组列表中搜索对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52015235/