`
zhoushu126
  • 浏览: 81687 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Arrays.sort 排序个人笔记

 
阅读更多

 

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.Date;

import java.util.List;

import org.apache.commons.lang.time.DateUtils;

 

 

public class ArraySortTest {

private static DateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");

public static void main(String[] args) {

//时间

Date date = new Date(),date1 = new Date(),date2 = new Date();

date = DateUtils.addDays(date, 1);

date1 = DateUtils.addDays(date1, 2);

date2 = DateUtils.addDays(date2, 3);

List<Date> listDate = new ArrayList<Date>();

listDate.add(date);

listDate.add(date1);

listDate.add(date2);

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

for (Date date3 : listDate){

listStr.add(dateFormat.format(date3));

}

System.out.println(listStr.toString());

Collections.sort(listDate, new Comparator<Date>(){

@Override

public int compare(Date o1,Date o2){

int value = o1.after(o2) ? -1 : 1;

System.out.println(" date: " + value);

return value;

}

});

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

for (Date date3 : listDate){

listStr1.add(dateFormat.format(date3));

}

System.out.println(listStr1.toString());

//数字

int a = 1,b=2,c=3;

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

listInt.add(a);

listInt.add(b);

listInt.add(c);

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

@Override

public int compare(Integer o1, Integer o2) {

int value = o1>o2 ? 1 : -1;

System.out.println(" int: " + value);

return value;

}

});

System.out.println(listInt.toString());

}

 

}

 

结果:

 

 

[2012年03月27日, 2012年03月28日, 2012年03月29日]

 date: 1

 date: 1

 date: 1

[2012年03月29日, 2012年03月28日, 2012年03月27日]

 int: -1

 int: -1

[1, 2, 3]

 

在定制排序的时候,返回 -1 是顺序排序 1 是倒序 记下,有个时候容易搞混。

分享到:
评论

相关推荐

    java学习笔记 - 6

    1.数组: 数组的复制:System.arraycopy(src, srcPos, dest, destPos, length); Arrays.copyOf(original... Arrays.sort(arr);//对arr进行升序排列 2.方法(函数、过程): 方法的定义; 方法的调用; return;

    【Java基础笔记】Java中常用工具类.docx

    4. `sort(int[])`: 对整型数组进行升序排序。 5. `binarySearch(int[], key)`: 在已排序的数组中进行二分查找,返回目标值的索引,未找到则返回负数。 6. `copyOfRange(int[], int, int)`: 从源数组中复制指定索引...

    Java笔记word.docx

    在比较列表中的元素大小时,可以使用`Collections.sort()`方法对列表进行排序,也可以通过`Comparator`接口自定义比较逻辑。 **示例**: ```java List&lt;Integer&gt; list = Arrays.asList(3, 1, 4, 1, 5); Collections...

    马士兵课程笔记(续4)

    这个文件可能讲解了如何使用内置的`Arrays.sort()`方法,或者是自定义排序算法,如快速排序、归并排序等。此外,也可能探讨了如何处理自定义对象类型的数组排序,这通常涉及`Comparable`或`Comparator`接口的使用。 ...

    java笔记心得

    ` 使用 `Arrays.sort()` 方法对数组 `arr` 进行升序排序。该方法采用快速排序算法实现,时间复杂度平均为O(n log n)。 - **数组转换为字符串表示形式**:`System.out.println(Arrays.toString(arr));` 将排序后的...

    java基础笔记

    1. **快速排序**:Java中的`Arrays.sort()` 方法就是基于快速排序实现的,这是一种高效的排序算法,平均时间复杂度为O(n log n)。例如: ```java int[] a = {5, 4, 2, 4, 9, 1}; Arrays.sort(a); // 对数组进行排序 ...

    Java基础预习笔记

    其中,Arrays.sort 方法可以对数组进行排序,Arrays.equals 方法可以比较两个数组是否相等。 七、foreach 循环 foreach 循环是一种特殊的循环语句,用于遍历数组和集合。foreach 循环的特点是简单、高效,不需要...

    ACM实用笔记,小白入.doc

    - **数组排序**:使用`Arrays.sort()`方法。例如,升序排列: ```java int scores[] = {1, 2, 3, 89, 4}; Arrays.sort(scores); for (int i : scores) { System.out.println(i); } ``` 若要降序排列,可...

    【Java8】Lambda表达式 和 Stream API 详解笔记.zip

    Collections.sort(numbers, (a, b) -&gt; a - b); // 升序排序 ``` Lambda表达式的关键在于它能够使代码更简洁,同时保持清晰的逻辑。在上述例子中,我们传递了一个比较函数 `(a, b) -&gt; a - b`,而无需定义一个完整的...

    有关数组的一点个人笔记

    Arrays.sort(array); // 升序排序 ``` 在Java的经典小题中,数组常常被用来解决各种问题,例如查找、排序、统计等。例如,你可以实现一个函数来查找数组中的最大值: ```java public int findMax(int[] arr) { ...

    Java jdk 8 学习笔记 源码.zip

    `Arrays.parallelSort()`方法提供了并行排序,可以利用多核CPU提高排序性能。 10. **接口的私有方法和静态方法**: Java 8允许在接口中定义私有方法和静态方法,这增强了接口的灵活性,使得接口可以实现一些内部...

    ACCP6.0 S1 java 学习笔记总结..

    - Arrays类提供了排序方法,如Arrays.sort()。 8. **数据类型的深入理解**: - 基本数据类型如int、double、char等直接存储值,而引用数据类型如数组、类实例等存储的是对象的引用,指向实际数据所在的内存位置。 ...

    Java数组_附件.pdf

    * 数组的排序:Arrays.sort(arr); * 数组的搜索:Arrays.binarySearch(arr, target); Java 数组的优点包括: * 高效的存储和访问方式 * 方便的数组操作方式 * 广泛的应用场景 Java 数组的缺点包括: * 固定长度...

    java语言学习笔记2010.doc

    Arrays.sort(a); ``` 排序后的数组元素输出将按照升序排列。 ### 4. 多态性 多态性是面向对象编程的一个核心特性,允许子类对象被当作父类对象使用。但是,如果一个引用变量声明为父类类型,而实际引用的是子类...

    java基础知识点.pdf

    3. 排序算法:文档提到了选择排序、冒泡排序以及使用Arrays.sort()方法。选择排序每次选取最小值,需要外层循环控制比较次数,内层循环控制比较元素个数;冒泡排序只比较相邻元素;Arrays.sort()使用二分查找法。 4...

    java学习笔记

    - 数组排序:使用`Arrays.sort()`方法对数组进行排序。 - 搜索元素:使用`indexOf()`方法查找特定元素在数组中的位置,如果没有找到该元素,则返回-1。 - 数组转换为字符串:可以使用`Arrays.toString()`方法将...

    Java数据结构和算法笔记.doc

    在Java中,`Arrays.sort()`方法提供了快速排序或归并排序的实现。 在面向对象编程中,我们可以封装数据结构,如创建一个名为`MyArray`的类来管理数组。此类可以包含插入、查找、删除和更新数据的方法。例如: ```...

    数组简单的操作.zip

    对于排序,Java提供`Arrays.sort()`方法,如对整型数组排序: ```java Arrays.sort(myArray); ``` 查找元素有多种方法,如线性搜索(效率较低)和二分搜索(适用于已排序数组,效率较高)。线性搜索示例如下: ``...

Global site tag (gtag.js) - Google Analytics