java 中对象比较大小
2012-08-29 18:16
357 查看
java 中对象比较大小
java 中对象比较大小有两种方法
1:实现Comparable 接口 的 public int compareTo(T o) 方法;
2:实现Comparator 接口 的 int compare(T o1, T o2)方法;
代码如下:
Java代码
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
List list =new ArrayList();
list.add(new Dept("2","研发部",23));
list.add(new Dept("2","总公司",575));
list.add(new Dept("2","总公司",565));
// Collections.sort(list);
Collections.sort(list, new Comparator(){
public int compare(Object arg0, Object arg1) {
// TODO Auto-generated method stub
Dept dept1=(Dept)arg0;
Dept dept2=(Dept)arg1;
return dept1.compareTo(dept2);
}
});
for (int i=0;i<list.size();i++){
System.out.println((Dept)list.get(i));
}
Dept dept1=new Dept("2","研发部",23);
Dept dept2=new Dept("2","kk",44);
Set set=new TreeSet(new Comparator(){
public int compare(Object arg0, Object arg1) {
// TODO Auto-generated method stub
return 0;
}
});
set.add(dept1);
set.add(dept2);
}
}
class Dept implements Comparable{
private String id;
private String name;
private long num;
public Dept(String id,String name,long num){
this.id=id;
this.name=name;
this.num=num;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getNum() {
return num;
}
public void setNum(long num) {
this.num = num;
}
public int compareTo(Object arg0) {
Dept dept=(Dept) arg0;
int i=0;
i=this.id.compareTo(dept.id);
if(i!=0){//部门id不相等
return i;
}else{//部门id相等
i=this.name.compareTo(dept.name);
if(i!=0){//部门名称不相等
return i;
}else{//部门名称不相等
if(this.num>dept.num)return 1;
else if(this.num<dept.num)return -1;
else return 0;
}
}
}
public String toString() {
// TODO Auto-generated method stub
return this.id+"-->"+this.name+"-->"+this.num;
}
}
原文地址: /article/1481859.html
java 中对象比较大小有两种方法
1:实现Comparable 接口 的 public int compareTo(T o) 方法;
2:实现Comparator 接口 的 int compare(T o1, T o2)方法;
代码如下:
Java代码
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class Test {
public static void main(String[] args) {
List list =new ArrayList();
list.add(new Dept("2","研发部",23));
list.add(new Dept("2","总公司",575));
list.add(new Dept("2","总公司",565));
// Collections.sort(list);
Collections.sort(list, new Comparator(){
public int compare(Object arg0, Object arg1) {
// TODO Auto-generated method stub
Dept dept1=(Dept)arg0;
Dept dept2=(Dept)arg1;
return dept1.compareTo(dept2);
}
});
for (int i=0;i<list.size();i++){
System.out.println((Dept)list.get(i));
}
Dept dept1=new Dept("2","研发部",23);
Dept dept2=new Dept("2","kk",44);
Set set=new TreeSet(new Comparator(){
public int compare(Object arg0, Object arg1) {
// TODO Auto-generated method stub
return 0;
}
});
set.add(dept1);
set.add(dept2);
}
}
class Dept implements Comparable{
private String id;
private String name;
private long num;
public Dept(String id,String name,long num){
this.id=id;
this.name=name;
this.num=num;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getNum() {
return num;
}
public void setNum(long num) {
this.num = num;
}
public int compareTo(Object arg0) {
Dept dept=(Dept) arg0;
int i=0;
i=this.id.compareTo(dept.id);
if(i!=0){//部门id不相等
return i;
}else{//部门id相等
i=this.name.compareTo(dept.name);
if(i!=0){//部门名称不相等
return i;
}else{//部门名称不相等
if(this.num>dept.num)return 1;
else if(this.num<dept.num)return -1;
else return 0;
}
}
}
public String toString() {
// TODO Auto-generated method stub
return this.id+"-->"+this.name+"-->"+this.num;
}
}
原文地址: /article/1481859.html
相关文章推荐
- 【Java基础之集合(三)】集合对象比较大小和比较重复的区别和不同实现
- java序列化对象时间、大小比较
- java-判断相同和对象比较大小
- java使用compareTo实现一个类的对象之间比较大小
- Java中对两个对象进行比较大小
- 增强java基础 Java中对象之间比较大小
- Java 比较两个Date对象的大小
- JAVA比较Timestamp和当前日期大小
- Java中的long类型和Long类型比较大小
- 比较java和C++的面向对象语法
- java对象大小
- java计算时间差及比较时间大小
- Java面向对象-打印和比较对象-对象生命周期-匿名对象
- java常用对象序列化对象性能简单比较
- java 集合类中的对象如何比较
- Java中Comparable和Comparator实现对象比较
- JavaScript中Date对象之日期大小比较(三)
- 关于java web中自动运行一段代码的一些事儿(计时器、Date比较大小、自动运行代码)
- java中比较两个对象
- Java字符串转换为日期和时间比较大小