一、使用List来操作
public class ArraySort {
public static void main(String[] args) {
//定义一个数组
Integer [] str = {1,3,66,4,78,55,9,4,3,99};
//将数组转成集合
List<Integer> list = Arrays.asList(str);
//利用Collections工具类进行排序
Collections.sort(list);
System.err.println("排序"+list);
List<Integer> newlist=new ArrayList<Integer>();
for(Integer str2:list)
{ //判断新集合中的元素是否和list中遍历出来的元素相同,如果不同就添加到newlist中
if(!newlist.contains(str2))
newlist.add(str2);
}
System.out.println("去重:"+newlist.toString());
}
}
运行结果:
排序[1, 3, 3, 4, 4, 9, 55, 66, 78, 99]
去重:[1, 3, 4, 9, 55, 66, 78, 99]
二、使用List和Set来操作
public class ArraySort {
public static void main(String[] args) {
//定义一个数组
Integer [] str = {1,3,66,4,78,55,9,4,3,99};
//将数组转成集合
List<Integer> list1 = Arrays.asList(str);
Set<Integer> set=new HashSet<Integer>(list1);
List<Integer> list2 = new ArrayList<Integer>();
list2.addAll(set);
System.err.println("去重:"+list2);
Collections.sort(list2);
System.out.println("排序:"+list2);
}
}
运行结果:
去重:[1, 3, 55, 4, 99, 66, 9, 78]
排序:[1, 3, 4, 9, 55, 66, 78, 99]
三、List排序
//假设集合中有很多元素
List<UserPhotoVO> uPhotos = new ArrayList<UserPhotoVO>();
Collections.sort()默认是升序,降序则使用o2和o1比较。
Collections.sort(uPhotos, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
UserPhotoVO user1 = (UserPhotoVO) o1;
UserPhotoVO user2 = (UserPhotoVO) o2;
return user2.getCreateDate().compareTo(//根据时间降序排
user1.getCreateDate());
}
});