返回

数组中的元素排序和去重总结

发布时间:2023-01-08 01:55:10 250
# 工具

一、使用List来操作

public class ArraySort {

public static void main(String[] args) {
//定义一个数组
Integer [] str = {1,3,66,4,78,55,9,4,3,99};
//将数组转成集合
List list = Arrays.asList(str);
//利用Collections工具类进行排序
Collections.sort(list);
System.err.println("排序"+list);
List newlist=new ArrayList();
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 list1 = Arrays.asList(str);
Set set=new HashSet(list1);
List list2 = new ArrayList();
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 uPhotos = new ArrayList();

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());
}
});

 

 

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线