我个人觉得看例子说话比较实际点,希望看的人能从例子中获得收获!
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
/**
* 这个是jdk1.4的版本,如果在1.5中会用得更加简单,这里我就不在多写
* 用于基于LogoOrde的排序,根据logoOrder_displayOrder排序asc,再根据logoOrder_Id排序desc
* @author huanglq
*
*/
public class LogoOrder implements Comparable{
int logoOrder_Id;
int logoOrder_displayOrder;
public LogoOrder(int logoOder_displayOrder,int logoOrder_Id) {
super();
this.logoOrder_displayOrder = logoOder_displayOrder;
this.logoOrder_Id = logoOrder_Id;
}
public int getLogoOrder_displayOder() {
return logoOrder_displayOrder;
}
public void setLogoOrder_displayOder(int logoOder_displayOrder) {
this.logoOrder_displayOrder = logoOder_displayOrder;
}
public int getLogoOrder_Id() {
return logoOrder_Id;
}
public void setLogoOrder_Id(int logoOrder_Id) {
this.logoOrder_Id = logoOrder_Id;
}
public int compareTo(Object o) {
int order=this.logoOrder_displayOrder-((LogoOrder)o).logoOrder_displayOrder;
if(order!=0){
return order;
}else{
return ((LogoOrder)o).logoOrder_Id-this.logoOrder_Id;
}
}
public String toString(){
return "logoOrder_displayOder:"+logoOrder_displayOrder+" logoOder_Id:"+logoOrder_Id;
}
public static void main(String[] args){
Map map2=new TreeMap();
LogoOrder lo1=new LogoOrder(1,2);
map2.put(lo1, "two");
map2.put(new LogoOrder(1,1), "one");
map2.put(new LogoOrder(2,1), "three");
map2.put(new LogoOrder(2,1), "THREE@");
Iterator it2=map2.keySet().iterator();
while(it2.hasNext()){
System.out.println(it2.next());
}
System.out.println(map2.get(new LogoOrder(2,1)));
}
}
/**
输出结果:
logoOrder_displayOder:1 logoOder_Id:2
logoOrder_displayOder:1 logoOder_Id:1
logoOrder_displayOder:2 logoOder_Id:1
THREE@ ---说明Map如果加入了一样的key,则这个key值的value会覆盖掉原来的value
*/
分享到:
相关推荐
Cloneable接口表示对象可以被克隆,Comparable接口则允许类的对象进行比较排序。 java.lang包还包含了一些与安全、线程和内存管理相关的类,如SecurityManager用于安全管理,Thread和ThreadGroup是线程相关的类,...
- **`Comparable`和`Comparator`**:定义元素的自然排序和自定义排序。 3. **多线程** - **`java.lang.Thread`**:表示一个执行线程,通过`start()`方法启动。 - **`synchronized`关键字**:用于同步方法或代码...
1. `java.lang`:这是所有Java程序默认导入的包,包含了基本数据类型、异常处理和系统相关的类,如`String`、`Integer`、`System`、`Exception`等。 2. `java.util`:提供了集合框架、日期时间、随机数、位集、队列...
- `HashSet` 和 `TreeSet`:`HashSet` 是无序且不保证元素顺序的,而 `TreeSet` 通过 `Comparator` 或 `Comparable` 自然排序。 2. **多线程**: - 创建线程的方式:继承 `Thread` 类,实现 `Runnable` 接口,...
20. 反射的包和核心类:如`java.lang.reflect`包下的`Class`、`Constructor`、`Method`和`Field`类。 21. 获取Class的三个过程:通过类名使用`Class.forName()`,通过对象使用`obj.getClass()`,通过.class属性。 ...
在Java编程语言中,了解和熟练使用常用的包以及掌握数组的复制与排序是成为Java开发者的必备技能。这里我们将深入探讨这些主题。 首先,我们来看看Java中的“包”(Package)。包是Java的一个重要特性,它主要用于...
对于数组中的元素类型本身支持比较(如`Integer`, `String`等),我们可以通过让类实现`java.lang.Comparable`接口来直接排序。`Comparable`接口同样有一个`compareTo()`方法,但它是类的成员方法,用于定义类实例...
2. **自动实现 Comparable 和 Enum**:每个枚举类型都默认继承了 `java.lang.Enum` 类,因此枚举实例自动实现了 `Comparable` 接口,可以直接比较枚举值的顺序。 3. **枚举集合**:可以通过 `values()` 方法获取...
用哥德巴赫猜想来总结,哥德巴赫猜想就是要去输入一个偶数,输出这个偶数能被分解为哪两个质数的和,具体实现就是要去验证拆分出来的两个数是否为质数。 传统的方法我们需要先把验证质数的方法写好,然后再去将输入...
Java对象的比较方式 Java对象的比较方式是Java编程语言中的一种基础知识点。...Java对象的比较方式是Java编程语言中的一种基础知识点,通过使用Comparable接口或Comparator接口,可以实现对象之间的比较和排序。
总之,Java的`Comparable`接口和`Comparator`接口为对象的比较和排序提供了强大的工具。`Comparable`适合于类的自然排序,而`Comparator`则提供了更大的灵活性,允许在运行时定义和改变比较规则。在实际开发中,理解...
在Java编程语言中,"Java的常用包"和"数组的复制与排序"是学习的基础且重要的部分。这里,我们主要探讨的是Java的核心库包以及如何处理数组,特别是复制和排序的操作。 首先,让我们深入了解Java的常用包。Java标准...
在Java编程语言中,`Comparable`接口和`Comparator`接口是用来进行对象排序的关键工具,尤其在处理自定义对象集合时。下面将详细解释这两个接口及其核心方法`compareTo()`和`compare()`。 首先,`Comparable`接口是...
来自java.lang.Comparable。Comparable是 排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。 此外...
1. **JSP内置对象**:JSP(JavaServer Pages)提供了九个内置对象,它们分别是:request(请求对象)、response(响应对象)、session(会话对象)、application(应用程序对象)、out(输出对象)、pageContext...
在Java编程语言中,Comparable和Comparator接口用于比较对象的顺序,尤其在进行排序操作时非常关键。两者虽然目的相似,但使用方式和应用场景有所区别。 Comparable接口定义在`java.lang`包中,它只有一个方法`...
在Java编程语言中,Comparable和Comparator是两个非常重要的接口,它们都用于对象的比较和排序。下面是关于这两个接口的详细解释: **Comparable接口** Comparable接口位于`java.lang`包下,它是一个对象自比较的...
通过深入学习这些JDK 5.0的新特性,你将能更好地理解和应用Java语言,提高代码质量,提升编程效率。这份"良葛格java jdk 5.0学习笔记"将会是你宝贵的参考资料,帮助你在Java编程的道路上不断进步。
"Java的常用包"通常包括`java.lang`、`java.util`、`java.io`等核心包,它们包含了Java开发中最基本和最常用的类和接口。 `java.lang`包是最基础的包,无需import即可直接使用,它包含了所有Java程序的基础类,如`...
Java 中的 Comparable 和 Comparator 是两个常用的接口,用于实现对象的比较和排序。它们都是 Java 中的接口,都是用于比较对象的大小的,但它们有所不同。 Comparable 接口 Comparable 接口位于 java.lang....