「java集合sort」java集合sortthen
今天给各位分享java集合sort的知识,其中也会对java集合sortthen进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中的SORT怎么用
- 2、JAVA中如何使用SORT从大到小排.
- 3、Java中如何对集合排序
- 4、java中的的sort和comparable的区别与联系
- 5、Java集合中sort方法,前面的两个泛型限定是什么意思?
- 6、java arraylist 的sort怎么用
java中的SORT怎么用
Java中的Sort(排序)通常指的是Collections.sort() 对 List 的排序,该排序方式有两种不同改的使用方法:
第一种是list中的对象实现Comparable接口,如下
public class User implements ComparableUser{
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);
ListUser list = new ArrayListUser();
//此处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);
ListUser list = new ArrayListUser();
list.add(user2);
list.add(user1);
Collections.sort(list,new ComparatorUser(){
public int compare(User arg0, User arg1) {
return arg0.getOrder().compareTo(arg1.getOrder());
}
});
for(User u : list){
System.out.println(u.getName());
}
}
JAVA中如何使用SORT从大到小排.
根据你这要求,只有一个办法,但是有点约束:
import java.util.Arrays;
import java.util.Collections;
public class Test {
public static void main(String[] args) {
//注意,只能用对象类型,不可以使用简单类型 如int[] num则报错
Integer[] num = {5,8,3,9,1};
//如果是num是List或 Set,则用Collections.sort(num,Collections.reverseOrder());
Arrays.sort(num,Collections.reverseOrder());
for(int i=0;inum.length;i++){
System.out.println(num[i]);
}
}
}
Java中如何对集合排序
Java内建的排序(冒泡):Java集合有两个实现的工具类,Collections和Arrays。Collections针对集合类型。Arrays针对数组。只需要一个为你排序需要的定制的Comparator或Comparable的实现,将其作为参数传给Collections或Arrays的sort方法就行。
可以自己用程序去实现这个排序。用for从原List里面一个一个拿出来比较然后一个新建的List里面去。
楼主看一下参考资料。
java中的的sort和comparable的区别与联系
类T实现comparable
这个接口表示拥有
int
compareTo(T
t2)
这个方法。这就表示T的对象是可以两两比较大小的。
sort(Collection
c)
这个排序方法,正是利用T中的compareTo方法对T的对象集合中的对象两两进行比较来排序的。这就是sort与comparable的联系。
至于区别,一个功能是排序,一个功能是两两比较,功能是不相同的。但是能够两两比较是能排序的前提,试想一下如果两个对象不能比大小,怎么排序呢?
Java集合中sort方法,前面的两个泛型限定是什么意思?
? extends Comparable
这个?就是传过来的对象不确定,而且必须是Comparable的子类或者子接口。
? super T
这个表示传过来的值,是定义T泛型的父类,如果不是给出代码检测失败。
java arraylist 的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; ilist.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集合sortthen的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-23,除非注明,否则均为
原创文章,转载请注明出处。