`
44424742
  • 浏览: 232462 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

关于compareTo()的重载 转

 
阅读更多

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);

}

}

分享到:
评论

相关推荐

    大整数加法减法 完整算法 写一个表示大整数(>2256)的对象( C++或Java),能实现 +,-,*,/(运算符重载)(

    本篇文章将重点讨论大整数的加法和减法算法,并演示如何在Java中通过运算符重载来实现这些功能。 首先,我们创建一个名为`Bigint`的类,它包含两个成员变量`op1`和`op2`,分别用于存储两个大整数的字符串表示,以及...

    C#,入门教程与实操,非常具有参考价值的数组算法完整工程源代码,包括:加强版(实数)数组;加强版(整数)数组;加强版(泛型)数组

    指定长度的构造函数;以 x 为样板的构造函数;以数组 v 为数据的构造函数;以数组 x 为数据的赋值型构造函数;以字符串为数据的赋值型构造函数;第一个数据;最后一个数据;最小数据;...CompareTo比较器;

    面向对象技术Java-期末复习试卷(三).docx

    10. 关于覆盖和重载,构造方法也可以重载,即一个类可以有多个构造方法。正确答案是B。 11. 关于类A和类B之间的关系,类B是类A的子类,继承关系。正确答案是B。 12. 关于下面的代码,错误出现在line 5,System.out...

    java8看不到源码-java-oo:Java运算符重载

    运算符重载 Java-OO 是用于 () 支持的 Java 编译器和 IDE 的模块化扩展(插件)。 适用于标准 JavaC 编译器、、、IDE 和任何构建工具。 示例(请参阅 dir 中的其他示例): import java.math.* ; import java.util.*...

    c# List类排序方法

    `Sort`方法有多个重载版本,其中最简单的一个是不带任何参数的版本`List&lt;T&gt;.Sort()`。 然而,在尝试使用`Sort()`方法对`List&lt;Student&gt;`进行排序时,会遇到问题。这是因为`Sort()`方法默认使用元素的自然顺序进行...

    控制台程序 集合类的应用

    此外,我们还将讨论如何重载基本的数学运算符,如"+"、"和"&gt;",以便在Animal对象间进行比较和组合。 首先,让我们深入理解关键字索引。在传统的集合类中,如ArrayList或HashSet,通常使用对象的哈希值进行索引。...

    ex1007_java_

    `Integer`提供了许多实用的方法,如`parseInt()`(将字符串转换为整数)、`toString()`(将整数转换为字符串)、`compareTo()`(比较两个整数的大小)等。在`Integer.java`文件中,可能包含了对这些方法的使用或...

    继承,多态,IComparable比较器的实例(源代码

    总结,从提供的信息来看,WindowsApplication2是一个C# Windows应用程序,其中包含了关于继承、多态和自定义比较规则的示例。这个项目可能包含多个类,其中某些类通过继承来扩展功能,利用多态实现更灵活的代码,...

    简单百亿计算器

    4. **比较操作**:`compareTo()`方法用于比较两个`BigInteger`对象的大小,返回值为负、零、正,分别表示小于、等于、大于。 5. **位操作**:`BigInteger`提供了位操作,如`and()`, `or()`, `xor()`, `not()`等,...

    java常用类的使用方法.pdf

    如果o也是Integer类,进行compareTo(Integer anotherInteger)操作;否则,抛出ClassCastException异常。 * decode(String nm):将字符串转换为整数。 * doubleValue():取得该整数的双精度表示。 * equals(Object ...

    C#字符串操作

    C#的`String`类提供了多种方法来实现字符串的比较,包括`Compare`、`CompareTo`、`CompareOrdinal`以及`Equals`等。 ##### 1. `Compare` 方法 `Compare`方法用于比较两个字符串对象,它可以灵活地处理大小写敏感性...

    Java基础面试.pdf

    接着,面试者可能还会被问及关于方法重载(Overloading)和重写(Overriding)的概念。方法重载是指在同一个类中定义多个同名方法,但它们的参数个数或参数类型不同。方法重写则是指在子类中定义一个与父类相同名字...

    BB_s Notes4 SCJP1.4

    - `equals()`和`compareTo()`方法用于字符串比较,`equals()`检查内容是否相等,`compareTo()`则根据Unicode顺序比较。 3. **类和方法修饰符**: - 类的访问修饰符有`public`, `protected`, `private`以及默认...

    关于Biginteger的分数类期末课程设计

    4. **比较操作**:为了比较两个分数的大小,可以定义重载的`compareTo`方法,根据分子和分母进行比较。 5. **toString方法**:提供一个友好的字符串表示,将分数以"numerator/denominator"的形式输出,确保分母不为...

    常用数据结构与算法字符串PPT学习教案.pptx

    `CompareTo`返回值与`Compare`相同,但它没有重载形式,总是按大小写敏感的方式比较整串字符串。 3. `Equals`方法:此方法用于判断两个字符串是否完全相同。它有两个重载形式,一种接受一个字符串参数,另一种是...

    JAVA-int和Integer的区别

    此外,`Integer`类还提供了一些实用方法,比如`parseInt()`用于将字符串转换为整数,`toString()`用于将整数转换为字符串,以及`compareTo()`用于比较两个`Integer`对象的大小。 总的来说,`int`适合于需要高性能...

    Comparison_C_code_same_string.rar_Same Same

    总结来说,C#中比较字符串的方法多样,包括使用"=="运算符、`String.Equals()`、`String.CompareTo()`、`GetHashCode()`以及`StringComparer`。选择哪种方法取决于具体需求,如是否忽略大小写、是否考虑文化规则等。...

    Java基础面试.docx

    - `compareTo()`:基于字典顺序比较两个字符串。 - `compareToIgnoreCase()`:不区分大小写地比较两个字符串。 2. **重载与重写**: - **重载(Overloading)**:在同一个类中,方法名相同但参数列表不同的多个...

    常用数据结构与算法字符串PPT课件.pptx

    有两种重载形式:`public bool Equals(string)`和`public static bool Equals(string, string)`。如果字符串内容完全一致,返回`true`;否则返回`false`。 ```csharp Console.WriteLine(String.Equals(strA, strB)...

    java面试考题

    面试中可能会问到关于JVM加载类的原理机制,这涉及到类加载器(ClassLoader),它是Java运行时系统组件,负责查找和装入类文件。ClassLoader采用全盘负责委托机制,保证了类加载的安全性。 此外,Java中的事件委托...

Global site tag (gtag.js) - Google Analytics