java - 对显示的结果进行排序而不合并两个数组

标签 java jsp sorting servlets struts

我的表单中有两个数组,如下所示,我使用 jsp 向用户显示数组的值。

Trip[] tripArray = new Trip[];
Route[] routeArray = new Route[];


Trip Class: 
public class Trip{
    private String name; 
    private String address; 
    private String job; 
}

Route class: 
public class Route{
    private String myName; 
    private String myAddress;
    private String myJob; 
}

我的jsp文件:

<logic: notEmpty name="myForm" property="tripArray">
<logic:iterate id="data" name="myForm" property="tripArray" type="com.example.Trip">
    <td><bean:write name="data" property="name" /></td>
    <td><bean:write name="data" property="address"/></td>
    <td><bean:write name="data" property="job"/></td>
</logic:iterate>
</logic:notEmtpty>

<logic: notEmpty name="myForm" property="routeArray">
<logic:iterate id="data" name="myForm" property="routeArray" type="com.example.Route">
    <td><bean:write name="data" property="myName" /></td>
    <td><bean:write name="data" property="myAddress"/></td>
    <td><bean:write name="data" property="myJob"/></td>
</logic:iterate>
</logic:notEmtpty>

我希望能够对显示的结果进行排序。由于我有两个数组,因此我可以合并这两个数组,对其进行排序并使用新的合并数组显示结果。

但这也需要我更改我的 jsp 文件。我认为这样做的工作量超出了必要的范围。

是否有另一种方法可以做到这一点,而无需更改我的 jsp 文件并且无需合并数组?

最佳答案

使用Arrays.sort对数组进行排序:

    String[] examples = new String[] {"test", "a", "long one", "", "one was blank (this is longest)"};
    Arrays.sort(examples, new Comparator<String>() {

        @Override
        public int compare(String arg0, String arg1) {
            if(arg0.length() < arg1.length())
                return -1;
            if(arg0.length() > arg1.length())
                return 1;
            return 0;
        }

    });
    System.out.println(Arrays.toString(examples));

将有输出:

[, a, test, long one, one was blank (this is longest)]

我在那里设置的比较器设置为首先是最短的,最后是最长的;您可以根据需要调整比较器。

关于java - 对显示的结果进行排序而不合并两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11851099/

相关文章:

Java 错误 : message Invalid tld file: see JSP 2. 2 规范第 7.3.1 节了解更多详细信息

ruby - 为什么我们可以在 block 中使用数组索引来在ruby中进行哈希排序?

c# - 保留前 (N) 个值的固定大小集合

Python数据框找到top-5的索引,然后索引到另一列

java - 如何检查 Runnable 的值?

java - 当达到阈值时,LinkedHashMap 是否也会treeifyBin/treefybucket?

java - 如何在 Spring Controller 方法中从许多 @RequestParam 参数切换到 @ModelAttribute

java - J2EE - 如何从服务器响应中删除空格、空行

java - 两个 int 数组的比较结果出乎意料

java - 为什么我的 BufferedImage 在绘制到 Canvas 时会有所不同?