集合之二

排序: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;
          }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值