import java.util.SortedSet;
import java.util.TreeSet;
public class UserBean implements Comparable<UserBean>{
private String username;
private int age;
public UserBean(String username,int age) {
this.username = username;
this.age = age;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(UserBean user) {
int i = 0;
if(user!=null){
i = this.age-user.age;
if(i==0){//如果年龄相同,则比较姓名,否则只能显示一个人
i = this.username.hashCode()-user.username.hashCode();
}
}
return i;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return this.username+":"+this.age;
}
public static void main(String[] args) {
TreeSet sortedSet = new TreeSet();
UserBean userBean1 = new UserBean("lj", 20);
UserBean userBean2 = new UserBean("li", 20);
sortedSet.add(userBean1);
sortedSet.add(userBean2);
System.out.println(sortedSet);
}
}
分享到:
相关推荐
本篇文章将重点讨论大整数的加法和减法算法,并演示如何在Java中通过运算符重载来实现这些功能。 首先,我们创建一个名为`Bigint`的类,它包含两个成员变量`op1`和`op2`,分别用于存储两个大整数的字符串表示,以及...
指定长度的构造函数;以 x 为样板的构造函数;以数组 v 为数据的构造函数;以数组 x 为数据的赋值型构造函数;以字符串为数据的赋值型构造函数;第一个数据;最后一个数据;最小数据;...CompareTo比较器;
10. 关于覆盖和重载,构造方法也可以重载,即一个类可以有多个构造方法。正确答案是B。 11. 关于类A和类B之间的关系,类B是类A的子类,继承关系。正确答案是B。 12. 关于下面的代码,错误出现在line 5,System.out...
运算符重载 Java-OO 是用于 () 支持的 Java 编译器和 IDE 的模块化扩展(插件)。 适用于标准 JavaC 编译器、、、IDE 和任何构建工具。 示例(请参阅 dir 中的其他示例): import java.math.* ; import java.util.*...
`Sort`方法有多个重载版本,其中最简单的一个是不带任何参数的版本`List<T>.Sort()`。 然而,在尝试使用`Sort()`方法对`List<Student>`进行排序时,会遇到问题。这是因为`Sort()`方法默认使用元素的自然顺序进行...
此外,我们还将讨论如何重载基本的数学运算符,如"+"、"和">",以便在Animal对象间进行比较和组合。 首先,让我们深入理解关键字索引。在传统的集合类中,如ArrayList或HashSet,通常使用对象的哈希值进行索引。...
`Integer`提供了许多实用的方法,如`parseInt()`(将字符串转换为整数)、`toString()`(将整数转换为字符串)、`compareTo()`(比较两个整数的大小)等。在`Integer.java`文件中,可能包含了对这些方法的使用或...
总结,从提供的信息来看,WindowsApplication2是一个C# Windows应用程序,其中包含了关于继承、多态和自定义比较规则的示例。这个项目可能包含多个类,其中某些类通过继承来扩展功能,利用多态实现更灵活的代码,...
4. **比较操作**:`compareTo()`方法用于比较两个`BigInteger`对象的大小,返回值为负、零、正,分别表示小于、等于、大于。 5. **位操作**:`BigInteger`提供了位操作,如`and()`, `or()`, `xor()`, `not()`等,...
如果o也是Integer类,进行compareTo(Integer anotherInteger)操作;否则,抛出ClassCastException异常。 * decode(String nm):将字符串转换为整数。 * doubleValue():取得该整数的双精度表示。 * equals(Object ...
C#的`String`类提供了多种方法来实现字符串的比较,包括`Compare`、`CompareTo`、`CompareOrdinal`以及`Equals`等。 ##### 1. `Compare` 方法 `Compare`方法用于比较两个字符串对象,它可以灵活地处理大小写敏感性...
接着,面试者可能还会被问及关于方法重载(Overloading)和重写(Overriding)的概念。方法重载是指在同一个类中定义多个同名方法,但它们的参数个数或参数类型不同。方法重写则是指在子类中定义一个与父类相同名字...
- `equals()`和`compareTo()`方法用于字符串比较,`equals()`检查内容是否相等,`compareTo()`则根据Unicode顺序比较。 3. **类和方法修饰符**: - 类的访问修饰符有`public`, `protected`, `private`以及默认...
4. **比较操作**:为了比较两个分数的大小,可以定义重载的`compareTo`方法,根据分子和分母进行比较。 5. **toString方法**:提供一个友好的字符串表示,将分数以"numerator/denominator"的形式输出,确保分母不为...
`CompareTo`返回值与`Compare`相同,但它没有重载形式,总是按大小写敏感的方式比较整串字符串。 3. `Equals`方法:此方法用于判断两个字符串是否完全相同。它有两个重载形式,一种接受一个字符串参数,另一种是...
此外,`Integer`类还提供了一些实用方法,比如`parseInt()`用于将字符串转换为整数,`toString()`用于将整数转换为字符串,以及`compareTo()`用于比较两个`Integer`对象的大小。 总的来说,`int`适合于需要高性能...
总结来说,C#中比较字符串的方法多样,包括使用"=="运算符、`String.Equals()`、`String.CompareTo()`、`GetHashCode()`以及`StringComparer`。选择哪种方法取决于具体需求,如是否忽略大小写、是否考虑文化规则等。...
- `compareTo()`:基于字典顺序比较两个字符串。 - `compareToIgnoreCase()`:不区分大小写地比较两个字符串。 2. **重载与重写**: - **重载(Overloading)**:在同一个类中,方法名相同但参数列表不同的多个...
有两种重载形式:`public bool Equals(string)`和`public static bool Equals(string, string)`。如果字符串内容完全一致,返回`true`;否则返回`false`。 ```csharp Console.WriteLine(String.Equals(strA, strB)...
面试中可能会问到关于JVM加载类的原理机制,这涉及到类加载器(ClassLoader),它是Java运行时系统组件,负责查找和装入类文件。ClassLoader采用全盘负责委托机制,保证了类加载的安全性。 此外,Java中的事件委托...