首页 > 其他分享 >一个朋友问的排序问题,Collections.sort

一个朋友问的排序问题,Collections.sort

时间:2023-04-12 20:32:23浏览次数:38  
标签:sort name age list System Collections MySort 排序 public


import java.util.ArrayList;

 import java.util.Collections;

 import java.util.List;



 public class MySort implements Comparable<MySort>{

private String name ;

private int age;





public MySort() {

super();

}



public MySort(String name, int age) {

super();

this.name = name;

this.age = age;

}



@Override

public String toString( ) {

return this.name+","+this.age;

}

    

public static void main(String rgs[]) {

List<MySort> list=new ArrayList<MySort>();

Collections.addAll(list,new MySort("zhangsan",22),

                new MySort("wisi",22),

                new MySort("lisi",25));

System.out.println("排序前:");

for(MySort so:list){

System.out.print(so.toString()+"..");

}

Collections.sort(list);

System.out.println("排序后:");

for(MySort so:list){

System.out.print(so.toString()+"..");

}

}



public int compareTo(MySort o) {

if(this.name.compareTo(o.name)==0){

return this.age-o.age;

}else{

return this.name.compareTo(o.name);

}


}

 }

标签:sort,name,age,list,System,Collections,MySort,排序,public
From: https://blog.51cto.com/u_11702014/6186209

相关文章

  • w6 T325337 【模板】快速排序
     主要思路:整体思路就是把<num[mid]的元素扔到mid左边,把>num[mid]的元素扔到mid右边,然后用同样的方法对mid左边和右边的序列进行处理。在代码实现上我使用了双指针。以样例为例:num[0]=4num[1]=2num[2]=4num[3]=5num[4]=1mid=num[2]第一次处理后:12454mid_left=num[0......
  • 冒泡排序
    vararr=[3,2,1,4,5,6,7,8,9];console.log('原数组:'+arr);//标记原数组functionbubbleSortBetter(arr){//外层循环,控制趟数,每一次找到一个最大值for(vari=0;i<arr.length-1;i++){//内层循环,控制比较的次数,并且判断两个数的大小var......
  • 力扣 33. 搜索旋转排序数组
    整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使数组变为[nums[k],nums[k+1],...,nums[n-1],nums[0],nums[1],...,nums[k-1]](下标从0开始计数)。例如,[0,1,2,4,5,6,7]在下标3处经......
  • 【图论之拓扑排序】剑指 Offer II 114. 外星文字典
    剑指OfferII114.外星文字典讲解传送门constintN=26,M=N*N;classSolution{public:inth[N],e[M],ne[M],idx=0;boolst[N];intin[N],cnt=0;//上面三行要写在classSolution内部,不然每次调用不会清空voidadd(inta,intb){......
  • 排序算法
    冒泡排序  letarray=[2,5,3,1,4]functionsort(arr){letres=[]if(!Array.isArray(arr))return[]for(vari=0;i<arr.length;i++){for(varj=i+1;j<arr.length;j++){if(arr[i]>arr[j]){lett......
  • UVa 10785 The Mad Numerologist (排序)
    10785-TheMadNumerologistTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=98&page=show_problem&problem=1726Numerologyisasciencethatisusedbymanypeopletofindoutamansper......
  • C语言矩阵顺时针旋转90度和力扣34. 在排序数组中查找元素的第一个和最后一个位置
    #include<iostream>usingnamespacestd;#defineM5#include<stdlib.h>//原矩阵,某元素第n行第m列,;顺时针旋转90度后,位置变成倒数第n列,第m行//即先转置再水平翻转intn=0;voidrotation_90(intmatrix[][M],intn){ for(inti=0;i<n;i++) { for(intj=i;j<M;j++)......
  • 归并排序-使用归并排序实现小和问题-java实现
    什么是归并排序归并排序(MergeSort)是一种基于分治思想的排序算法,它的基本思想是将待排序的序列不断地分割成两个子序列,直到每个子序列只有一个元素,然后再将这两个子序列合并成一个有序的序列。归并排序的基本步骤如下:1.将待排序序列分成两个子序列,分别进行排序。2.将两个已排......
  • java arrays类方法parallelSort,学习总结
    Arrays.sort与Arrays.parallelSort区别Arrays.sort()Arrays.sort()方法对对象或原始数据类型的数组进行排序。此方法中使用的排序算法是Dual-Pivot Quicksort。 换句话说,它是快速排序算法的自定义实现,以实现更好的性能。此方法是单线程的 ,有两种变体:sort(array)–将整......
  • c#之winform—listview中排序 和 ICompare接口和IComparer接口的比较
    要在listview中实现排序,需要用listview.Sorting属性,它接受一个枚举类型的值list_view.Sorting=SortOrder.Ascending;//1为正序>其中None=0,//不排序Ascending=1,//升序Descending=2//降序然后在将ListViewItemComparer这个类的实例......