黑马程序员--集合工具Collections

 ——- android培训java培训、期待与您交流! ———-
 生活中很多东西如果你会了,会给我们带来很大的方便,如手机的发明让我们联系的更紧密,高铁技术的发展使我们出行更便捷安全,集合工具就是这样让人爽快。我热爱我的热爱,并将继续坚持我的热爱,我会是那匹黑马。
 
 Collections:集合框架的工具类。

一、Collections和Collection有什么区别?

Collection是集合框架中的一个顶层接口,它里面定义了单列集合的共性方法。

它有两个常用的子接口,

List:对元素都有定义索引。有序的。可以重复元素。
Set:不可以重复元素。无序。

二、Collections是集合框架中的一个工具类。该类中的方法都是静态的,提供的方法中有可以对list集合进行排序,二分查找等方法。
通常常用的集合都是线程不安全的。因为要提高效率。如果多线程操作这些集合时,可以通过该工具类中的同步方法,将线程不安全的集合,转换成安全的。

三、程序解读

/*
题目:已知User类,该类有name(String类型)和age(int类型)两个属性,
请编写代码实现给ArrayList<User>排序,要求按照User对象的age的倒序排序。
*/
import java.util.*;
class  UserDemo
{
public static void main(String[] args) 
{
Comparator<User> comparator = new Comparator<User>()  //定义内部类 Comparator
{
public int compare(User u1,User u2)
{
if(u1.getAge()!=u2.getAge())
return u2.getAge()-u1.getAge();
else
return u1.getName().compareTo(u2.getName());
}
};
ArrayList al = new ArrayList();
al.add(new User("Jim",22));
al.add(new User("Lily",20));
al.add(new User("Lilei",19));
al.add(new User("张三",21));
System.out.println("排序前:");
for (int i=0;i<al.size() ;i++ )
{
User user = (User)al.get(i);
String name=user.getName();
int age = user.getAge();
System.out.println("name:"+name+"  age:"+age);
}
Collections.sort(al,comparator);        //调用内部类comparator 方法,进行排序。
Iterator it = al.iterator();
System.out.println("排序后:");
while (it.hasNext())
{
User u = (User)it.next();
String name = u.getName();
int age = u.getAge();
System.out.println("name:"+name+"  age:"+age);
}
}
}
class User 
{
private String name;
private int age;
User(String name,int age)
{
this.name=name;
this.age=age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值