java集合类(二)Collections类内元素排序
来源:互联网 发布:传文件的软件 编辑:程序博客网 时间:2024/05/22 02:12
Collections类应用实例:
(1)元素排序
import java.util.*;
public class text1 {
public static void ptintElements(Collection c)
{
Iterator i=c.iterator();
while(i.hasNext())
System.out.println(i.next());
}
public static void main(String[] args)
{
Student s1=new Student(1,"qy");
Student s2=new Student(2,"kng");
Student s3=new Student(3,"lk");
Student s4=new Student(4,"ji");
Student s5=new Student(5,"zhag");
Student s6=new Student(6,"nng");
ArrayList a=new ArrayList();
a.add(s1);
a.add(s2);
a.add(s3);
a.add(s4);
a.add(s5);
a.add(s6);
Collections.sort(a); //若要对对象排序,必须先实现Compare接口
text1.ptintElements(a);
}
}
class Student implements Comparable{
int num;
String name;
Student(int num,String name)
{
this.name=name;
this.num=num;
}
public int compareTo(Object o) //compare接口实现过程
{
Student s=(Student)o;
return num>s.num ? 1 :(num==s.num ? 0 : -1);
}
public String toString()
{
return num+" "+name;
}
}
补充:1.(也可用内部类实现接口的方式来实现Comparable接口,这样这个比较方法就完全属于Student这个类了)
可以在Student类中加入这样一个内部类:
static class StudentCompare implements Comparator(比较器){
public int compare(Object o1,Object o2)
{
Student s1=(Student)o1;
Student s2=(Student)o2;
return s1.num>s2.num ? 1 :(s1.num==s2.num ? 0 : -1);
}
}
在main主函数中可以这样调用:
Collections.sort(a,new Student.StudentCompare()); //a后是一个比较器;
2.当学号相同时,也可实现名字的排序(在内部类中补上如下代码)
int result=s1.num>s2.num ? 1 :(s1.num==s2.num ? 0 : -1);
if(result==0)
return s1.name.compareTo(s2.name); //String类已经实现了Comparable接口;
return result;
3.也可用Collections.sort(a,Collections.reverseOrder());比较器实现反排序;
(2)最大值、最小值、和查找同Arrays类;
Arrays类是对数组的操作,而Collections是对列表的操作;
- java集合类(二)Collections类内元素排序
- java-集合类(二)-迭代器-Iterator-Collections类自然排序
- Java集合工具类Collections(二)
- Collections.sort方法(可以根据集合中类的属性的比较对集合内的类进行排序)
- java集合操作的包装类Collections(包含集合的排序)
- Java中集合List按照集合内实体类元素的指定字段排序方法
- Java集合框架->Collections类
- Java 集合工具类 Collections
- Java 集合工具类Collections
- java集合(工具类Collections)
- java Collections集合工具类
- Java 集合工具类 Collections
- Java集合-Collections类详解
- Java--Collections集合工具类
- java集合排序 Collections.sort
- 黑马程序员——Java基础---集合框架(二)及工具类Collections、Arrays
- 集合工具类Collections.sort()排序方法
- 操作集合类Collections,自定义集合排序方式
- 从 C++ 到 Objective-C(10):实例化(续)
- java集合类(三)Arraylist实例
- Hadoop Streaming cacheFile 和cacheArchive选项
- 备忘
- MySQL事务的隔离级别和日志记录模式选择
- java集合类(二)Collections类内元素排序
- OK6410裸机程序---hello world
- 怎样用sql列出一个表的所有字段或某一字段
- java集合类(五)HashSet与TreeSet应用实例
- lucene分布式索引(转)
- 团队管理心得--20110425修订
- java集合类(七)Iterator应用实例
- Menustrip里Items突然消失的解决方法
- 排序算法汇总