导航:首页 > 编程语言 > javasort用法

javasort用法

发布时间:2025-02-16 12:44:53

‘壹’ java排序类-Collections.sort()的使用

在处理实体类中属性具有不同权重时,我们需要对List中的对象进行排序。使用Collections.sort()是实现这一需求的关键方法。


为了使排序功能生效,首先调用Collections.sort()。


其次,实体类需要继承Comparable接口,并重写其中的两个方法:toString和compareTo。toString方法用于测试时输出实体类信息,compareTo方法才是核心,它定义了实体类之间的比较逻辑。


在compareTo方法中,我们需要按照权重进行比较,如年、月、日。从权重最大的属性开始比较。具体步骤如下:



至此,核心用法便告完成。最后,进行简单的输出测试。


通过控制台输出结果,我们能够直观地看到排序的效果。


总结:尽管实现过程可能显得冗长,但关键在于在compareTo方法中正确定义比较规则并返回相应的值。调用Collections.sort()方法时,根据返回值判断比较结果,从而实现排序功能。无需过多纠结于类的具体角色,只需关注compareTo方法的实现逻辑。

‘贰’ 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.length-1;i>=0 ;i-- )

{ 槐物亮

System.out.print(vec[i]+" ");

}

}

}

‘叁’ JAVA中如何使用SORT从大到小排.

在排序中,最重要的是岁档自己实现自己的比较的行数,即是闭槐implements Comparator
实现方法 public int compare(Object o1, Object o2) 最为重要..

举个例子:
package book.arrayset;

import java.util.Comparator;

/**
* 整数比较器,将整数按降序排列
*/
class MyIntComparator implements Comparator{

/**
* o1比o2大,返回-1;o1比o2小,返回1。
*/
public int compare(Object o1, Object o2) {
int i1 = ((Integer)o1).intValue();
int i2 = ((Integer)o2).intValue();
if (i1 < i2){
return 1;
}
if (i1 > i2){
return -1;
}
return 0;
}
}

//上面的为比较的函数实现,下面真正的添加数据,

//通过调用上面的比较函数实现自定义排序的功能

package book.arrayset;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
* 对List中的元素排序
*/
public class SortList {

public static void output(List list){
if (list == null){
return;
}
for (int i=0; i<list.size(); i++){
System.out.print(list.get(i).toString() + " ");
}
System.out.println();
}

public static void main(String[] args) {
List list = new ArrayList();
list.add(new Integer(5));
list.add(new Integer(8));
list.add(new Integer(1));
list.add(new Integer(3));
list.add(new Integer(2));
list.add(new Double(3.1));
System.out.println("list开始状态");
SortList.output(list);
//Collections.sort方法将用默认轿雀友比较器排列list的元素
Collections.sort(list);
System.out.println("list被默认比较器排序后的状态");
SortList.output(list);
//下面将list的元素按降序排列
Collections.sort(list, new MyIntComparator());
System.out.println("list被自定义比较器排序后的状态");
SortList.output(list);

//因此,对于任意自定义类的对象,当保存在集合类容器中后,如果需要对它们进行排序,
//需要自己提供适应于自定义类的比较器,自定义比较器必须实现Comparator接口。
//然后采用Collections.sort(list, comparator);方法对容器进行排序。
}
}

‘肆’ java中的SORT怎么用

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

阅读全文

与javasort用法相关的资料

热点内容
python组合数据类型 浏览:658
空气压缩机站 浏览:628
什么是企业app 浏览:766
cp1l编程电缆 浏览:131
ev3编程模块 浏览:271
程序员脖子痛如何缓解 浏览:531
java加密aes对称加密算法 浏览:599
格式工厂视频压缩方法 浏览:478
编译后的函数和原始函数如何对应 浏览:623
阐述邮件加密解密过程 浏览:402
敲沙子声控解压 浏览:57
计算机教室用什么服务器 浏览:803
华为畅享9怎么设置短信加密 浏览:287
中国现代编译器 浏览:853
如何得到app专栏 浏览:453
魔兽世界日本服务器什么职业多 浏览:729
表格加密怎么设置只读模式打开 浏览:884
哪个app可以不用花呗分期 浏览:861
SSL是对称加密吗 浏览:46
捷途app钥匙怎么用 浏览:960