ArrayList中有个类让其按字符大小排列
时间: 2023-08-19 11:03:59 浏览: 39
如果你想要让 ArrayList 中的自定义类按照某个属性排序(如字符大小),你需要实现 Comparable 接口,并重写 compareTo() 方法。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public int compareTo(Person other) {
return this.name.compareTo(other.name);
}
@Override
public String toString() {
return "[Name: " + name + ", Age: " + age + "]";
}
}
public class Main {
public static void main(String[] args) {
ArrayList<Person> list = new ArrayList<Person>();
list.add(new Person("Alice", 20));
list.add(new Person("Bob", 25));
list.add(new Person("Charlie", 30));
list.add(new Person("David", 35));
System.out.println("Before sorting: " + list);
Collections.sort(list);
System.out.println("After sorting: " + list);
}
}
```
输出结果:
```
Before sorting: [[Name: Alice, Age: 20], [Name: Bob, Age: 25], [Name: Charlie, Age: 30], [Name: David, Age: 35]]
After sorting: [[Name: Alice, Age: 20], [Name: Bob, Age: 25], [Name: Charlie, Age: 30], [Name: David, Age: 35]]
```
在上面的示例中,我们首先创建了一个包含几个 Person 对象的 ArrayList。然后,我们让 Person 类实现 Comparable 接口,并重写 compareTo() 方法,使其按照 name 属性进行排序。最后,我们使用 Collections.sort() 方法对这个列表中的对象进行排序。排序后,我们打印出排序前和排序后的列表。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)