Getter Setter如何创建一个类,TreeSet中的自然排序和自定义排序
时间: 2025-06-22 08:38:39 浏览: 5
创建一个类并包含Getter和Setter方法通常是为了实现属性的封装和对外部访问的控制。例如,我们可以这样创建一个简单的Person类:
```java
public class Person {
private String name;
private int age;
// Getter方法
public String getName() {
return name;
}
// Setter方法
public void setName(String name) {
this.name = name;
}
// 另一个示例:年龄的getter和setter
public int getAge() {
return age;
}
public void setAge(int age) {
if (age >= 0) { // 添加验证条件
this.age = age;
} else {
throw new IllegalArgumentException("Age cannot be negative.");
}
}
}
```
在这个例子中,`getName()`和`getAge()`用于获取属性值,而`setName(name)`和`setAge(age)`用于设置属性值。这样外部代码只能通过这些公共接口访问内部变量,提高了代码的安全性和维护性。
**TreeSet中的自然排序和自定义排序**:
1. **自然排序**:TreeSet内部实现了一个SortedSet接口,这意味着它默认按照元素的自然顺序进行排序。对于数字类型的集合,自然排序就是升序排列。例如,如果你创建一个TreeSet存储整数,它将按数值大小自动排序。
```java
TreeSet<Integer> numbers = new TreeSet<>();
numbers.add(5);
numbers.add(2);
numbers.add(8); // 输出: [2, 5, 8]
```
2. **自定义排序**:如果你需要根据某个字段进行自定义排序,你可以提供一个Comparator实现类。例如,如果你想按照姓名的字母顺序对Person对象进行排序:
```java
Comparator<Person> byName = Comparator.comparing(Person::getName);
TreeSet<Person> sortedPeople = new TreeSet<>(byName);
```
现在`sortedPeople`将按照Person的name属性进行升序排序。
阅读全文
相关推荐


















