Collections.sort方法与二维用方法


int[][] n =new int[][]{{10,20,30},
                               {40,50,80},
                               {60,90}};
        String[][] n1 = {{"ye","yu"},{"ho","no"},{"hi"},{"op","ok","jk"}};
        for(String[] a: n1) {
            for (String item: a) {
                System.out.print(item+" ");
            }
        }
        System.out.println("start ");
        for(int[] a: n) {
            for (int item: a) {
                System.out.print(item+" ");
            }
        }
        System.out.println("start ");
       
        for (int i =0; i < n.length; i++) {
            for (int j =0; j< n[i].length; j++){
                System.out.print(n[i][j]+" ");
            }
        }
    }
 SysUtil.convertToList 在这个包下
这个BasePojo对象是基类一些get|set方法

/*public class BasePojo implements Serializable {
    protected Integer version;
    protected Timestamp latestModifyDate;
    protected Integer latestModifyBy;
    protected Timestamp createdDate;
    protected Integer createdBy = 0;
    protected Boolean deleted;
    protected Integer id;

*/





    @SuppressWarnings("unchecked")
    public static List<BasePojo> convertToList(Set<BasePojo> set) {
        Iterator it = set.iterator();
        List<BasePojo> list = new ArrayList<BasePojo>();
        if (set != null && set.size() != 0) {
            while (it.hasNext()) {
                BasePojo pojo = (BasePojo) it.next();
                list.add(pojo);
            }
        }
        sort(list);
        return list;
    }

通过ID比较
    public static void sort(List<BasePojo> list){
        Collections.sort(list, new Comparator<BasePojo>(){
            public int compare(BasePojo o1, BasePojo o2){
                if(o1.getId() > o2.getId())
                    return 1;
                else
                    return -1;
            }
        });
    }
这个是ResumeService

List resumeEducationList = SysUtil.convertToList(resume
        .getResumeEducations());

用的hibernate 返回    private Set resumeEducations = new HashSet(0);

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
通过日期时间比较:MM/dd/yyyy
    /**
     * Inner class sorting
     * @param list
     */
public void sortResumeEdcuational(List list){
        Collections.sort(list, new Comparator<ResumeEducation>(){
            public int compare(ResumeEducation o1, ResumeEducation o2){
                List<SimpleDateFormat> sdfs = new ArrayList<SimpleDateFormat>();
                SimpleDateFormat defaultSimpleDateFormat;
                try {
                    Properties props = new Properties();
                                        //defaultPattern=MM/dd/yyyy
                    props.load(DateConverter.class
                            .getResourceAsStream("DateConverter.properties"));
                    String defaultPattern = props.getProperty("defaultPattern");
                    defaultSimpleDateFormat = new SimpleDateFormat(defaultPattern);
                    sdfs.add(defaultSimpleDateFormat);

                    Enumeration e = props.propertyNames();
                    String pattern = null;
                    while (e.hasMoreElements()) {
                        pattern = (String) props.getProperty((String) e.nextElement());
                        if (!pattern.equals(defaultPattern)) {
                            sdfs.add(new SimpleDateFormat(pattern));
                        }
                    }
                } catch (IOException e) {
                    String s = "Date (Time) format string read failure, Reason:" + e;
                    throw new RuntimeException(s);
                }
               
                Long time1 = null;
                Long time2 = null;
               
                for (SimpleDateFormat sdf : sdfs) {
                    try {
                        if (StringUtils.isNotBlank(o1.getDateFrom())){
                            time1 = sdf.parse(o1.getDateFrom()).getTime();
                            break;
                        } else{
                            time1 = new Date().getTime();
                        }
                    } catch (ParseException e) {
                        continue;
                    }
                }
               
                for (SimpleDateFormat sdf : sdfs) {
                    try {
                        if (StringUtils.isNotBlank(o2.getDateFrom())){
                            time2 = sdf.parse(o2.getDateFrom()).getTime();
                            break;
                        } else{
                            time2 = new Date().getTime();
                        }
                    } catch (ParseException e) {
                        continue;
                    }
                }
               
                if(time1 < time2)
                    return 1;
                else
                    return -1;
            }
        });
    }




        List<Answer> resultList = question.getAnswers();
               // EasyMock

        assertNotNull(equalsList);
        assertNotNull(resultList);

        int size = equalsList.size();
        assertEquals(equalsList.size(), resultList.size());

        Collections.sort(resultList, new Comparator<Answer>() {

            public int compare(Answer o1, Answer o2) {
                int sequence1 = o1.getId().getAnswerId().intValue();
                int sequence2 = o1.getId().getAnswerId().intValue();
                return sequence1 - sequence2;
            }
        });

// 也可以通过TreeSet 进行比较:

            List<ScheduleType> scheduleTypeList = scheduleTypeDao.findScheduleTypeByLabel(scheduleTypeSearchForm
                    .getSearchParameter());
            scheduleTypeList = sortByLabel(scheduleTypeList);


private List<ScheduleType> sortByLabel(final List<ScheduleType> source) {
        final TreeSet<ScheduleType> treeSet = new TreeSet<ScheduleType>(new Comparator<ScheduleType>() {

            public int compare(final ScheduleType st1, final ScheduleType st2) {
                return st1.getLabel().compareTo(st2.getLabel());
            }
        });

        treeSet.addAll(source);
        final List<ScheduleType> result = new ArrayList<ScheduleType>();
        result.addAll(treeSet);
        return result;
    }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值