java list 排序

根据自己讲解一下java list排序

操作方法

  • 01

    pojo类: public class ApexDictionary(){ private String value; private BigDecimal dictionaryOrder;   private String getValue() {  return value; }  private void setValue(String value){  this.value = value; }  public BigDecimal getDictionaryOrder() {  return dictionaryOrder; }  public void setDictionaryOrder(BigDecimal dictionaryOrder) {  this.dictionaryOrder = dictionaryOrder; }} pojo类根据自己实际情况进行定义。

  • 02

    设置数据: 例如我们是从数据库中查询出来的结果设置进去,如果数据不是按某个顺序放进去的话,当我们想换这个顺序取出来时就有些困难了。所以我们需要对这个结果排序。

  • 03

    取出来的数据是list.那么我们利用collections.sort()方法来排下序吧。 List<Object> list = getList(); Collections.sort(list, new Comparator<Object>() { public int compare(Object a, Object b) { //处理。。。 return 0; } }

  • 04

    看到上面的图片,再说一下int与BigDecimal如何互相转换。 1)int 转换为BigDecimal: int a = 1; BigDecimal b = new BigDecimal(a); 2)BigDecimal转换为int: BigDecimal b = new BigDecimal(123.456); int a = b.intValue();//此时a的值为123

  • 05

    下面说一个比较通过的Java list 排序方法。 缺点就是需要知道要比较的对象的类型有哪些。

  • 06

    public void sort(List<E> list, final String method, final String sort) { if (list != null) { Collections.sort(list, new Comparator<Object>() { public int compare(Object a, Object b) { int result = 0; try { Method m1 = a.getClass().getMethod(method, null); Method m2 = b.getClass().getMethod(method, null); Object obj1 = m1.invoke(a, null); Object obj2 = m2.invoke(b, null); if(obj1 instanceof Integer){ if (sort != null && "desc".equals(sort))// 倒序 result= new Integer((int) obj2).compareTo( new Integer((int) obj1)); else// 正序 result= new Integer((int) obj1).compareTo(new Integer((int) obj2)); } else if( obj1 instanceof Date){ if (sort != null && "desc".equals(sort))// 倒序 result= ((Date) obj2).compareTo((Date) obj1); else// 正序 result= ((Date) obj1).compareTo((Date) obj2); } else{ if (sort != null && "desc".equals(sort))// 倒序 result= obj2.toString().compareTo(obj1.toString()); else// 正序 result= obj1.toString().compareTo(obj2.toString()); } } catch (Exception e) { e.printStackTrace(); } return result; } }); } }

(0)

相关推荐

  • Java选择排序(升序和降序)

    选择排序是简单排序的一种,其排序思想为:首先将第一个数标记为最大数,其位置为最大数的位置:然后排除第一个数,使用第一个数和剩下的数依次比较,若剩下的数大于第一个数,则继续比较,直到找到最大数为止:最后 ...

  • Java的选择排序。

    Java选择排序的思想(以从小到大排序为例,从大到小排序于此相同): 在arr[0]到arr[n-1]中选出最小(大)的的数与arr[0]交换位置, 在arr[1]到arr[n-1]中选出最小(大)的 ...

  • java中如何将数组转换为List

    根据本人在编程开发中遇到的细小问题得到的,这些东西经常用到普通的开发中. 操作方法 01 将List转换为数组 List list = new ArrayList();list.add("1 ...

  • java如何对日期字符串进行排序

    介绍如何使用java将日期字符串转换成日期类型,并将其排序. 操作方法 01 打开eclipse,创建一个java工程项目,并在src下创建类StringToDate,创建后的工程目录如图. 02 接 ...

  • java代码怎么实现数字的自动排序

    java代码实现数字的自动排序,是每个学习java必须学习的内容,所以今天就由小编来为大家介绍java代码怎么实现数字的自动排序. 操作方法 01 第一首先先创建Scanner对象,接受键盘输入的数字 ...

  • 如何用java代码实现选择排序和冒泡排序

    冒泡排序和选择排序是排序算法中比较简单和容易实现的算法.冒泡排序的思想为:每一次排序过程,通过相邻元素的交换,将当前没有排好序中的最大(小)移到 数组的最右(左)端.而选择排序的思想也很直观:每一次排 ...

  • java排序方法

    JAVA是一门强大的面向对象的语音,其包含了多种数据结构,对于数组这种数据结构我们往往需要对里面的数据进行排序操作.JAVA语音很强大和灵活,所以排序的方法也有很多.下面就说几个JAVA常用的排序方法 ...

  • Java实现的几个常用排序算法详细解读

    排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料. 操作方法 01 1. 选择排序 选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要 ...

  • java代码怎么实现三个数进行从小到大输出

    java经典案例实现数字自动进行排序,所以今天就由小编来为大家介绍java代码怎么实现三个数进行从小到大输出. 操作方法 01 第一首先先创建4个int参数. 代码:int i; int j; int ...