繁体   English   中英

从数组中删除重复项并按顺序排序

[英]Removing duplicates from array and ordering by something

我有一个Java对象,它输出我的xml数据。 我的目标是删除阵列中的重复项,并按出生日期(最早的等)排序。目前我不知道如何执行这些操作。 你们可以帮忙吗?

使用JAXB将此XML转换为java对象。 然后,您可以通过实现Comparable接口,根据自己的标准对它们进行排序。

编辑:如果您有XSD,请使用xjc编译器将xsd转换为java类。 然后在JAXB中使用这些类。

第1步 :

使用xjc命令从xsd创建Java类。 转到保存xsd的目录。 并打开命令提示符/终端并在命令下方触发。

xjc your_xsd.xsd

一些类将在目录中生成。 并非全部都是必需的,但具有用于表示xml节点的成员变量的变量很重要。 将其复制到您的项目src文件中。 假设类名称为DataDocument

然后您的java类将进行取消封送处理,如下所示:

public static void main (String [] args) {
    try {
        File xmlFile = new File("your_xml_file.xml");
        JAXBContext jaxbCtx = JAXBContext.newInstance(DataDocument.class);
        Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
        DataDocument dataDocument = (DataDocument) unmarshaller.unmarshal(xmlFile);
        System.out.println("data document is : " + dataDocument);
    } catch (JAXBException e) {
       e.printStackTrace ();
    }
}

根据您的需要更改代码。

您可以使用Castor Framework从XML转换为Java对象

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM