arraylist 排序 java_Java对ArrayList进行排序

数字使用直接比较大小来排序,String的话,使用compare()方法进行排序。

测试代码:

1.对字符串对象排序

@Test

public void test17() throws Exception {

List< String > stringList = new ArrayList<>();

stringList.add("haha");

stringList.add("123");

stringList.add("wq");

stringList.add("d");

stringList.add("rt");

stringList.add("uuk");

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

Collections.sort(stringList, new Comparator< String >() {

@Override

public int compare(String lhs, String rhs) {

System.out.println("排序字符串:" + lhs + "," + rhs);

int i = lhs.compareTo(rhs);

System.out.println("排序结果" + i);

if ( i > 0 ) {

return 1;

} else {

return -1;

}

}

});

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

}

打印的日志:

排序前:[haha, 123, wq, d, rt, uuk]

排序字符串:123,haha

排序结果-55

排序字符串:wq,123

排序结果70

排序字符串:wq,haha

排序结果15

排序字符串:d,haha

排序结果-4

排序字符串:d,123

排序结果51

排序字符串:rt,haha

排序结果10

排序字符串:rt,wq

排序结果-5

排序字符串:uuk,haha

排序结果13

排序字符串:uuk,wq

排序结果-2

排序字符串:uuk,rt

排序结果3

排序后:[123, d, haha, rt, uuk, wq]

2.对数字进行排序

@Test

public void test18() throws Exception {

List< Integer > stringList = new ArrayList<>();

stringList.add(123);

stringList.add(32);

stringList.add(0);

stringList.add(-4);

stringList.add(5);

stringList.add(123131);

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

Collections.sort(stringList, new Comparator< Integer >() {

@Override

public int compare(Integer lhs, Integer rhs) {

if ( lhs > rhs ) {

return 1;

} else {

return -1;

}

}

});

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

}

打印日志:

排序前:[123, 32, 0, -4, 5, 123131]

排序后:[-4, 0, 5, 32, 123, 123131]

在实现Comparator接口的compare()方法的时候,return 1代表大于,return -1代表小于。然后根据返回值来进行排序。

Java之ArrayList自定义排序,通过实现comparator比较器接口

两种排序方式: 1.实体类实现Comparable接口,重写compareTo(T o)方法,在其中定义排序规则,那么就可以直接调用Collections.sort()来排序对象数组 2.在调用方法的 ...

JAVA对ArrayList排序

ava如何对ArrayList中对象按照该对象某属性排序 增加排序功能,打印时:输出学生对象的时候,需要先按照年龄排序,如果年龄相同,则按照姓名排序,如果姓名也相同,则按照学号排序. Code hig ...

java@ 利用ArrayList实现dijkstra算法以及topological 排序算法(java.util.ArrayList)

package dataStructure; import java.util.ArrayList; import java.util.LinkedList; import java.util.Que ...

java中Collections.sort排序详解

Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...

java SE 常用的排序算法

java程序员会用到的经典排序算法实现 常用的排序算法(以下代码包含的)有以下五类: A.插入排序(直接插入排序.希尔排序) B.交换排序(冒泡排序.快速排序) C.选择排序(直接选择排序.堆排序) ...

Java list的用法排序及遍历

你可能感兴趣的:(arraylist,排序,java)