自定义比较器Comparator排序集合里面的元素,并且写出xml

package com.ibeifeng.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import com.bashao.vo.CategoryVO;
import com.bashao.vo.MarkTreeVO;
import com.bashao.vo.OrgAndEmpDTO;
import com.bashao.vo.RankingOrgScoreXMLVO;
import com.ibeifeng.po.Category;
import com.ibeifeng.po.Employee;
import com.ibeifeng.po.Mark;
import com.ibeifeng.po.MarkStatic;
import com.ibeifeng.po.Organise;
import com.ibeifeng.po.Terminal;
import com.ibeifeng.service.ICategoryService;
import com.ibeifeng.service.IMarkService;
import com.ibeifeng.service.IMarkStaticService;
import com.ibeifeng.service.IOrganiseService;
import com.ibeifeng.service.ITerminalService;
import com.opensymphony.xwork2.ActionSupport;

import freemarker.template.SimpleDate;






     Comparator<RankingOrgScoreXMLVO> comparator = new Comparator<RankingOrgScoreXMLVO>(){

                   public int compare(RankingOrgScoreXMLVO s1, RankingOrgScoreXMLVO s2) {
                       if(s1.getYearAndMonth()!=s2.getYearAndMonth()){
                           return s1.getYearAndMonth().compareTo(s2.getYearAndMonth());
                       }else{
                           return s1.getIndex().toString().compareTo(s2.getIndex().toString());
                           
                       }
                       
                   /* //先排年龄
                    if(s1.age!=s2.age){
                     return s1.age-s2.age;
                    }
                    else{
                     //年龄相同则按姓名排序
                     if(!s1.name.equals(s2.name)){
                      return s1.name.compareTo(s2.name);
                     }
                     else{
                      //姓名也相同则按学号排序
                      return s1.id-s2.id;
                     }
                    }*/
                   }
            };
              Collections.sort(voList,comparator);
            

        } catch (Exception e3) {
            // TODO Auto-generated catch block
            e3.printStackTrace();
        }

    










//--------------------------------------------------------


import java.io.IOException;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import com.bashao.vo.CategoryVO;
import com.bashao.vo.MarkTreeVO;
import com.bashao.vo.OrgAndEmpDTO;
import com.bashao.vo.RankingOrgScoreXMLVO;
import com.ibeifeng.po.Category;
import com.ibeifeng.po.Employee;
import com.ibeifeng.po.Mark;
import com.ibeifeng.po.MarkStatic;
import com.ibeifeng.po.Organise;
import com.ibeifeng.po.Terminal;
import com.ibeifeng.service.ICategoryService;
import com.ibeifeng.service.IMarkService;
import com.ibeifeng.service.IMarkStaticService;
import com.ibeifeng.service.IOrganiseService;
import com.ibeifeng.service.ITerminalService;
import com.opensymphony.xwork2.ActionSupport;

import freemarker.template.SimpleDate;

public class TEst1 {

    public static void main(String[] argunt) {
        Document document = DocumentHelper.createDocument();
        Element rootElement = document.addElement("root");// 根
        rootElement.addAttribute("myorg", "");
        Element e1 = rootElement.addElement("org");
        e1.addAttribute("name", "1");
        e1.addAttribute("index", "" + "org");
        e1.addAttribute("socre", "" + "org");
        e1.addAttribute("yearMonth", "org");

        // use XMLWriter and HttpServletResponse
        // get HttpServletResponse
        HttpServletResponse response = ServletActionContext.getResponse();
        // 设置返回文本的类型
        response.setContentType("text/xml;charset=utf-8");
        /*
         * 这里一定要设定ContentType,不然客户端无法辨识服务端的发送的信息类型。
         */
        response.setHeader("Cache-Control", "no-cache");
        /*
         * 设定不需要缓存
         */
        // get PrintWriter
        PrintWriter out = null;
        try {
            out = response.getWriter();
        } catch (IOException e12) {
            // TODO Auto-generated catch block
            e12.printStackTrace();
        }
        // 创建排版规则
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("UTF-8");// 设置xml文档的编码格式
        // 开始写入数据信息
        XMLWriter writer = new XMLWriter(out, format);
        // 通过XmlWriter的构造函数,将Xml文档对象写入到PrintWriter中,实现返回
        try {
            writer.write(document);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        // 清空流
        out.flush();
        // 关闭流
        out.close();
    }

}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值