zoukankan      html  css  js  c++  java
  • JAVA代码进行排序以及模糊查询

    /**.
     */
    
    package com.encdata.lihao;
    
    import java.util.Map;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    /**.
     *
     * @author admin
     *
     */
    public class ListMapSort {
      
      static class Task implements Comparator {
        
        private String taskId;
        
        private String taksName;
        
        /**.
         * @return the taksName
         */
        public String getTaksName() {
          return taksName;
        }
    
        /**.
         * @param taksName the taksName to set
         */
        public void setTaksName(String taksName) {
          this.taksName = taksName;
        }
    
        /**.
         * @return the taskId
         */
        public String getTaskId() {
          return taskId;
        }
    
        /**.
         * @param taskId the taskId to set
         */
        public void setTaskId(String taskId) {
          this.taskId = taskId;
        }
    
        /* (non-Javadoc)
         * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
         */
        @Override
        public int compare(Object o1, Object o2) {
          return 0;
        } 
        
        
        
      }
      
      public static void main(String[] args) {
        
        List<Task> mapList = new ArrayList<Task>();
        
        Task task1 = new Task();
        task1.setTaskId("101");
        task1.setTaksName("ABC");
        
        Task task2 = new Task();
        task2.setTaskId("98");
        task2.setTaksName("BCD");
        
        Task task3 = new Task();
        task3.setTaskId("210");
        task3.setTaksName("CDE");
        
        Task task4 = new Task();
        task4.setTaskId("201");
        task4.setTaksName("DEF");
        
        mapList.add(task1);
        mapList.add(task2);
        mapList.add(task3);
        mapList.add(task4);
        
        System.out.println("排序前");
        for (Task task : mapList) {
          System.out.println(task.getTaskId()+task.getTaksName());
        }
        
        Collections.sort(mapList, new Comparator<Task>(){  
          
            
         /**
           *  int compare(Student o1, Student o2) 返回一个基本类型的整型,  
           * 返回负数表示:o1 小于o2,  
           * 返回0 表示:o1和o2相等,  
           * 返回正数表示:o1大于o2。 
           */ 
             
          public int compare(Task o1, Task o2) {
            
            Integer o1taskId = Integer.valueOf(o1.getTaskId());
            
            Integer o2taskId = Integer.valueOf(o2.getTaskId());
            
              //按照任务ID进行降序排列  
              if(o1taskId > o2taskId){  
                  return -1;  
              }  
              if(o1taskId == o2taskId){  
                  return 0;  
              }  
              return 1;  
          }  
        }); 
        
        String condition = "D";
        
        Pattern pattern = Pattern.compile(condition);
        
        List<Task> mapList2 = new ArrayList<>();
        
        List<Task> mapList3 = new ArrayList<>();
        
        for (int i = 0; i < mapList.size(); i++) {
          Matcher matcher = pattern.matcher((mapList.get(i)).getTaksName());
          if (matcher.find()) {
            mapList2.add(mapList.get(i));
          }
        }
        
        for (int i = 0; i < mapList.size(); i++) {
          
          if (mapList.get(i).getTaksName().contains("D")) {
            mapList3.add(mapList.get(i));
          }
    
        }
        
        System.out.println("排序后");
        for (Task task : mapList2) {
          System.out.println(task.getTaskId()+task.getTaksName());
        }
        
        System.out.println("排序2后");
        for (Task task : mapList3) {
          System.out.println(task.getTaskId()+task.getTaksName());
        }
        
        
      }
      
      
    
    }
  • 相关阅读:
    BZOJ2219数论之神——BSGS+中国剩余定理+原根与指标+欧拉定理+exgcd
    Luogu 3690 Link Cut Tree
    CF1009F Dominant Indices
    CF600E Lomsat gelral
    bzoj 4303 数列
    CF1114F Please, another Queries on Array?
    CF1114B Yet Another Array Partitioning Task
    bzoj 1858 序列操作
    bzoj 4852 炸弹攻击
    bzoj 3564 信号增幅仪
  • 原文地址:https://www.cnblogs.com/lh-masteryi/p/9088155.html
Copyright © 2011-2022 走看看