一、Arrays类:
java.util.Arrays 包含数组的各种静态方法。
java.util.Collections工具类
是java集合框架中,用来操作集合对象的工具类。
也是java集合框架的成员 跟 Collection 与 Map关系是并列的。
有一个 sord() 排序方法
例如:
List <Integer> integerList =new ArraysList<Integer> (); 如图:
Integer k;
for (int i=0;i<10;i++)
{
Random r =new Random();
do {
k = r.nextInt(1000); --随机数
} while (list.contains(k));
list.add(k);
System.out.println("随机数字:"+k);
}
System.out.println("-----------------排序前----------------");
for(Integer integer : list)
{
System.out.println("排序前随机数字:"+integer);
}
System.out.println("-----------------排序后----------------");
Collections.sort(list); ---已经将集合中的序号进行排序
for(Integer integer : list)
{
System.out.println("排序前随机数字:"+integer);
}
输出结果为:
二、对list中的引用类型排序
Comparable接口 ----默认的排序规则
实现该接口表示:这个类得实例可以比较大小,可以进行自然排序
默认的比较规则
其实实现类需实现compoareTo()方法。
compareTo()方法返回正数·表示大,负数表示小,0表示相等
Comparator接口 ------临时比较规则 比较工具接口
用于临时比较规则而不是默认比较规则
其实实现类需要实现compare()方法
Comparator和Comparable 都是java集合开框架成员
demo 如下:
UserEntity实体类继承接口 implements Comparable<T> 并且重写compareTo方法
id 为int类型 ,如果是String类型 则返回值为return this.id.cpmpareTo(u .id);
@Override
public int compareTo(UserEntity u)
{
if (this.id<u.id) return -1;
else if (this.id==u.id) return 0;
else return 1;
}
public static void ListSord()
{
Scanner sc = new Scanner(System.in);
List<UserEntity> list = new ArrayList<UserEntity>();
int i = 0;
while (i < 3)
{
UserEntity u = new UserEntity();
System.out.println("请输入用户ID:");
u.setId(Integer.parseInt(sc.next()));
System.out.println("请输入用户姓名:");
u.setName(sc.next());
i++;
list.add(u);
}
System.out.println("-----------------排序前----------------");
for (UserEntity entity : list)
{
System.out.println("id:" + entity.getId() + "姓名排序:" + entity.getName());
}
System.out.println("-----------------排序后----------------");
Collections.sort(list);
for (UserEntity entity : list)
{
System.out.println("id:" + entity.getId() + "姓名排序:" + entity.getName());
}
}
输出结果为: