java中的SORT怎么用
发布网友
发布时间:2022-04-22 11:16
我来回答
共3个回答
热心网友
时间:2022-04-22 12:45
Java中的Sort(排序)通常指的是Collections.sort() 对 List 的排序,该排序方式有两种不同改的使用方法:
第一种是list中的对象实现Comparable接口,如下
public class User implements Comparable<User>{
private String name;
private Integer order;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getOrder() {
return order;
}
public void setOrder(Integer order) {
this.order = order;
}
public int compareTo(User arg0) {
return this.getOrder().compareTo(arg0.getOrder());
}
}
此时可以直接排序
public static void main(String[] args) {
User user1 = new User();
user1.setName("a");
user1.setOrder(1);
User user2 = new User();
user2.setName("b");
user2.setOrder(2);
List<User> list = new ArrayList<User>();
//此处add user2再add user1
list.add(user2);
list.add(user1);
Collections.sort(list);
for(User u : list){
System.out.println(u.getName());
}
}
第二种方法是根据Collections.sort重载方法来实现,例如:
public static void main(String[] args) {
User user1 = new User();
user1.setName("a");
user1.setOrder(1);
User user2 = new User();
user2.setName("b");
user2.setOrder(2);
List<User> list = new ArrayList<User>();
list.add(user2);
list.add(user1);
Collections.sort(list,new Comparator<User>(){
public int compare(User arg0, User arg1) {
return arg0.getOrder().compareTo(arg1.getOrder());
}
});
for(User u : list){
System.out.println(u.getName());
}
}
热心网友
时间:2022-04-22 14:03
void static sort(List list)
根据元素的自然顺序 对指定列表按升序进行排序
是属于Collections类的一个静态方法,也就是说可以这样调用:
int[] a={.....};
Collections.sort(a);
或者:
ArrayList a=new ArrayList(1,2,3,4....);
Collections.sort(a);
热心网友
时间:2022-04-22 15:38
import java.util.Arrays;
public class Test {
public static void main(String[] args){
int[] a={2,5,3,6,7,3,54,3,2,1,2,3,44};
Arrays.sort(a);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ,");
}
}
}
==================结果===================
1 ,2 ,2 ,2 ,3 ,3 ,3 ,3 ,5 ,6 ,7 ,44 ,54 ,
java中的SORT怎么用
第一种是list中的对象实现Comparable接口,如下 public class User implements Comparable<User>{ private String name;private Integer order;public String getName() { return name;} public void setName(String name) { this.name = name;} public Integer getOrder() { return order;} public vo...
Java1.7之后Arrays.sort对数组排序DualPivotQuicksort.sort
断点跟踪调用的是DualPivotQuicksort.java类的java双基准快速排序方法sort实现 跟踪进去就是具体排序方法的实现、其中具体方法:参数int[]a是需被排序的int数组,left和right是该数组中需要被排序的部分的左右界限.而后面的work,workBase和workLen三个参数其实并不会参与双基准快速排序,而是当系统认为本数组更...
java如何让list按照list里面的某个字段排序,list里面的有很...
1. 使用Collections.sort方法或List的sort方法:Java提供了对List进行排序的功能,可以通过Collections.sort方法或List自身的sort方法实现。这些方法可以根据元素的自然顺序或者通过传递一个Comparator对象来自定义排序规则。2. 自定义Comparator实现:如果要按照List中的某个字段进行排序,需要创建一个实现了Compara...
JAVA中如何使用SORT从大到小排.
//Collections.sort方法将用默认比较器排列list的元素 Collections.sort(list);System.out.println("list被默认比较器排序后的状态");SortList.output(list);//下面将list的元素按降序排列 Collections.sort(list, new MyIntComparator());System.out.println("list被自定义比较器排序后的状态");SortList...
java数组sort()方法降序怎么排
java数组sort()方法降序方式:用Arrays类sort()对数组元素进行降序排列 import java.util.Arrays;class SortDemo { public static void main(String[] args){ int[] vec={0,15,-14,45,20,70};Arrays.sort(vec);System.out.println("/n");System.out.println("降序排列:");for (int i=vec...
java中sort函数怎么用
List<Integer> lst = new ArrayList<>();lst.add(3);lst.add(1);lst.add(2);lst.sort();
Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法?
Arrays.sort( )方法一个参数默认是升序排列,你要降序排列第一种方法调用重载的2个参数的Arrays.sort( T[]a,Comaparator c)才行,第二个参数需要自定义一个比较器类实现Comaparator接口,根据需要重新compare方法。第二种方法先进行升序排列,再调用Arrays的asList方法转换成数组,然后调用Collections的...
Java中Array.sort()的排序原理
要想使用sort(),数组中的所有元素都必须实现 Comparable 接口 我想你的People类中应该有这个方法 sort()方法是按对象的自然顺序排序,也就是int compareTo(T o)方法定义的顺序.看看java.lang.Comparable接口 public int compareTo(People p1){//String类实现了Comparable接中,表示按字典顺序排序 int ...
JAVA Arrays.sort 方面详解
别人给你说再多,你自己要学会使用JDK 开发帮助文档,在上面看Arrays 其中有很多排序算法,需要排序的对象必须实现Comparable接口,他是根据Comparable接口的里面的public int compareTo(Object tm)这个函数进行排序的 。所以你要升序就容易了, 或者你就别用系统函数,自己写排序算法,还简单!
java.util.Arrays.sort(x); 这个表示对的是按 降序、升序还是其他的什么...
按照升序排列,如果对于实现了comparable接口的类来说,则是在执行int compareTo(Object o)方法,返回为1的放在后面,如A类实现了comparable接口,A类有a1,a2两个对象,如果a1.compareTo(a2)的值为1,则表示a1>a2,sort之后,为 a2,a1