首页 > 其他分享 >数组中的元素排序和去重总结

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

时间:2023-01-03 10:38:23浏览次数:41  
标签:数组 55 元素 List 99 66 排序 78


一、使用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());
}
});




标签:数组,55,元素,List,99,66,排序,78
From: https://blog.51cto.com/u_15928064/5984642

相关文章

  • 数组的排序
    一、选择排序图例:选择排序我们可以将它看做是"大圈套小圈代码:classArraySort{publicstaticvoidsort(intarr[]){for(inti=0;i<arr.length......
  • 203. 移除链表元素
    题目链接https://leetcode.cn/problems/remove-linked-list-elements/description/解题思路按照我们解决递归的思路,我们首先想,这个递归函数,应该返回什么,应该定义什么参......
  • 定义数组
    array_name=(ele1ele2ele3...elen)Shell数组:Shell数组定义以及获取数组元素(biancheng.net)Shell数组-Shell数组如何定义与使用-嗨客网(haicoder.net)......
  • Appium环境搭建及元素定位
     每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试01App......
  • 冒泡排序
    冒泡排序冒泡排序无疑是最为出名的排序算法之一,总共有八大排序!八大排序:冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、堆排序、基数排序。冒泡的代码还......
  • NumPy科学计算库学习_011_NumPy数组中的通用函数
    1、元素级数字函数arr1=np.array([1,-2,3,-4,5,-6])arr2=np.array([4,8,16,81,1024,4096])arr3=np.array([0,1])arr4=np.array([10,1000])arr5=np.array([[......
  • NumPy科学计算库学习_009_NumPy数组的形状操作
    NumPy数组的变形arr1=np.random.randint(0,10,size=(2,3,4))arr2=arr1.reshape(2,12)arr3=arr1.reshape(4,-1)arr4=arr1.reshape(-1,8)print("【arr1】\n",ar......
  • NumPy科学计算库学习_010_NumPy数组的广播机制
    NumPy数组广播机制的说明当两个数组形状不同时,可以通过扩展数组的方式实现计算操作。这种机制就叫做广播机制。1维NumPy数组的广播机制\[加法:\begin{bmatrix}{0}&{0}&......
  • NumPy科学计算库学习_008_NumPy数组的花式索引和索引技巧
    1维NumPy数组创建1维NumPy数组arr=np.array([0,10,3,8,24,5,18,2,99,66])print("【arr】\n",arr)【arr】[010382451829966]从1维NumPy数组中挑选......
  • NumPy科学计算库学习_005_关于NumPy数组的运算
    导入模块importnumpyasnp创建两个NumPy数组arr1=np.array([1,2,3,4,5])arr2=np.array([3,4,5,6,7])print("【arr1】\n",arr1)print("【arr2】\n",arr2)【a......