集合之二
来源:互联网 发布:gta4不卡优化流畅补丁 编辑:程序博客网 时间:2024/05/16 11:47
排序:Collections.sort()
(1)自然排寻(natural ordering );
(2)实现比较器(Comparator)接口。
取最大和最小的元素:Collections.max()、Collections.min()。
在已排序的List中搜索指定的元素:Collectons.binarySearch()。
import java.util.*;
public class ArrayListTest1
...{
public static void printElements(Collection c)
...{
Iterator it=c.iterator();
while(it.hasNext())
...{
System.out.println(it.next());
}
}
public static void main(String[] args)
...{
ArrayList al=new ArrayList();
al.add(new Student(2,"wanhhu"));
al.add(new Student(3,"huaihua"));
al.add(new Student(4,"liming"));
al.add(new Student(5,"zhanghu"));
printElements(al);
Collections.sort(al,new Student.StudentComparator());
printElements(al);
Collections.sort(al,Collections.reverseOrder());//new Student.StudentComparator());
printElements(al);
}
}
class Student implements Comparable
...{
int num;
String name;
static class StudentComparator implements Comparator
...{
public int compare(Object o1,Object o2)
...{
Student s1=(Student)o1;
Student s2=(Student)o2;
int result=s1.num > s2.num ? 1 : (s1.num==s2.num ? 0 : -1);
if(result==0)
...{
result=s1.name.compareTo(s2.name);
}
return result;
}
}
Student(int num,String name)
...{
this.num=num;
this.name=name;
}
public int compareTo(Object o)
...{
Student s=(Student)o;
return num>s.num ? 1 : (num==s.num ? 0 : -1);
}
public String toString()
...{
return "num="+num+","+"name="+name;
}
}
public class ArrayListTest1
...{
public static void printElements(Collection c)
...{
Iterator it=c.iterator();
while(it.hasNext())
...{
System.out.println(it.next());
}
}
public static void main(String[] args)
...{
ArrayList al=new ArrayList();
al.add(new Student(2,"wanhhu"));
al.add(new Student(3,"huaihua"));
al.add(new Student(4,"liming"));
al.add(new Student(5,"zhanghu"));
printElements(al);
Collections.sort(al,new Student.StudentComparator());
printElements(al);
Collections.sort(al,Collections.reverseOrder());//new Student.StudentComparator());
printElements(al);
}
}
class Student implements Comparable
...{
int num;
String name;
static class StudentComparator implements Comparator
...{
public int compare(Object o1,Object o2)
...{
Student s1=(Student)o1;
Student s2=(Student)o2;
int result=s1.num > s2.num ? 1 : (s1.num==s2.num ? 0 : -1);
if(result==0)
...{
result=s1.name.compareTo(s2.name);
}
return result;
}
}
Student(int num,String name)
...{
this.num=num;
this.name=name;
}
public int compareTo(Object o)
...{
Student s=(Student)o;
return num>s.num ? 1 : (num==s.num ? 0 : -1);
}
public String toString()
...{
return "num="+num+","+"name="+name;
}
}
- 集合之二
- 二、集合之LinkedList
- 集合之集合使用(二)
- javascript技巧集合之二
- c#集合之二队列
- java集合二之LinkedList
- redis基本命令之二:集合、有序集合
- Java之集合框架(二)
- 集合框架之二 泛型-Map
- Java基础之集合知识点总结二
- java集合框架List之ArrayList(二)
- java集合框架List之ArrayList(二) .
- java之集合学习(二)
- Java基础之List集合原理(二)
- java中的集合之List(二)
- Swift 基本知识点之二集合介绍
- Java初学之集合(二)
- Java-集合框架Collection之List(二)
- worldwind搜索功能控件placefinder 完全解析
- placement new 的使用
- 在MyEclipse5环境下设计好数据库后进行hibernate开发的过程.doc
- 跳还是不跳,这是个问题--浅析换工作的成本
- 又是忙碌的一天
- 集合之二
- 学位服介绍
- 集合之三
- 高考作文终极冲刺:2007年作文20大猜想(之一图) 5
- 100个著名初等数学问题
- 6月4日 距离高考3天 物质准备
- 学会理解并编辑fstab
- 熊猫烧香制造者看守所写下杀毒程序
- 口碑营销的魔力