账户余额比较账户大小的方法;同时,使用Comparator<T>接口声明比较器类CompareName,按照账户名比较账户大小;编写main方法测试相应的接口实现方法。
时间: 2023-07-06 09:41:48 浏览: 55
好的,我来为您解答。
首先是账户余额比较账户大小的方法,我们可以创建一个Account类,其中包含账户名和账户余额两个属性,然后实现Comparable接口,重写compareTo方法,根据账户余额大小进行比较。
代码如下:
```java
public class Account implements Comparable<Account> {
private String name; // 账户名
private double balance; // 账户余额
// 构造函数
public Account(String name, double balance) {
this.name = name;
this.balance = balance;
}
// 实现compareTo方法
@Override
public int compareTo(Account o) {
if (this.balance > o.balance) {
return 1;
} else if (this.balance < o.balance) {
return -1;
} else {
return 0;
}
}
// getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
}
```
接下来是使用Comparator<T>接口声明比较器类CompareName,按照账户名比较账户大小。同样地,我们可以创建一个CompareName类,实现Comparator接口,重写compare方法,根据账户名进行比较。
代码如下:
```java
import java.util.Comparator;
public class CompareName implements Comparator<Account> {
@Override
public int compare(Account o1, Account o2) {
return o1.getName().compareTo(o2.getName());
}
}
```
最后,我们可以编写main方法测试相应的接口实现方法。
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Account> accounts = new ArrayList<>();
accounts.add(new Account("Tom", 1000));
accounts.add(new Account("Jerry", 500));
accounts.add(new Account("Alice", 2000));
// 根据账户余额排序
Collections.sort(accounts);
System.out.println("根据账户余额排序后的账户列表:");
for (Account account : accounts) {
System.out.println(account.getName() + " " + account.getBalance());
}
// 根据账户名排序
Collections.sort(accounts, new CompareName());
System.out.println("根据账户名排序后的账户列表:");
for (Account account : accounts) {
System.out.println(account.getName() + " " + account.getBalance());
}
}
}
```
输出结果为:
```
根据账户余额排序后的账户列表:
Jerry 500.0
Tom 1000.0
Alice 2000.0
根据账户名排序后的账户列表:
Alice 2000.0
Jerry 500.0
Tom 1000.0
```
以上就是使用Comparable和Comparator接口实现账户余额和账户名的比较方法的代码。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)