package demo;
import java.util.*;
import java.util.function.Consumer;
/*创建一个银行用户 BankUser 类,
用户信息为用户 id、
用户名 userName、
余额 balance;
(1) 利用 HashMap 存储用户信息:
id 作为键,
用户作为值,
创建多个用户对象进行存储
(2) 遍历打印输出所有银行的用户名和对应的余额
(3) 键盘输入一个用户名,检测是否存在此用户,存在-打印用户信息;不存在-打印查无此人
(4) 打印输出余额大于 200000 的用户信息*/
public class Test18 {
public static void main(String[] args) {
//创建BankUser类对象
BankUser bankUser = new BankUser(1,"二狗",3500D);
BankUser bankUser1 = new BankUser(2,"翠花",4500000D);
//创建map集合
Map<Integer,BankUser> map = new HashMap<>();
map.put(bankUser.getId(),bankUser);
map.put(bankUser1.getId(),bankUser1);
//根据key值遍历map集合
Set<Integer> set = map.keySet();
for (Integer integer : set) {
System.out.println(map.get(integer));
}
System.out.println("--------------------------");
//(3) 键盘输入一个用户名,检测是否存在此用户,存在-打印用户信息;不存在-打印查无此人
//设定Scanner类
Scanner sc = new Scanner(System.in);
//打印提示语句
System.out.println("输入需要查询的名字");
String sr = sc.next();
boolean bo = false;
//遍历map集合
for (Integer integer : set) {
if (sr.equals(map.get(integer).getUserName())){
bo = true;
System.out.println(map.get(integer));
}
}
if (bo==false) System.out.println("没有这个人!滚!");
System.out.println("------------------------------");
//打印输出余额大于 200000 的用户信息*/
//遍历map集合
set.forEach(new Consumer<Integer>() {
@Override
public void accept(Integer integer) {
if (map.get(integer).getBalance()>200000){
System.out.println(map.get(integer));
}
}
});
}
}
//穿件BankUser类
class BankUser{
private Integer id;
private String userName;
private Double balance;
public BankUser() {
}
public BankUser(Integer id, String userName, Double balance) {
this.id = id;
this.userName = userName;
this.balance = balance;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Double getBalance() {
return balance;
}
public void setBalance(Double balance) {
this.balance = balance;
}
@Override
public String toString() {
return "BankUser{" +
"id=" + id +
", userName='" + userName + '\'' +
", balance=" + balance +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
BankUser bankUser = (BankUser) o;
return Objects.equals(id, bankUser.id) &&
Objects.equals(userName, bankUser.userName) &&
Objects.equals(balance, bankUser.balance);
}
@Override
public int hashCode() {
return Objects.hash(id, userName, balance);
}
}
MAP集合练习题
最新推荐文章于 2024-01-09 11:30:31 发布