Java中ArrayList的排序

2024-03-18

排序的最佳方法是什么ArrayList<String[]>在Java中?

Where String[] is...

String[] strAarray = new String[] { "abc", "abc", "abc", "abc", "abc", "abc", "abc" };

现在我想按第二个值对整个 ArrayList 进行排序String[](在索引 1 处)。我需要遍历每一个String[]然后是索引 1 处的子级。

有任何想法吗?

Edit:


我还有更多的描述。我实际上是从一些 XML 文件获取学校,XML 中的每个节点都有 7 个属性。现在我正在创建一个 ArrayListString[]它保存着 XML 中的学校节点String[] strArray本身保存着特定节点的属性。

现在,我想要对其进行排序的方式是,它应该根据学校状态(XML 中的第二个属性)和索引 1 进行排序String[]ArrayList 里面。

我需要首先遍历每个学校(XML 中的节点,String[]在 Java 中),然后我必须过滤 State(XML 中的 State 属性,String[1]在爪哇)。


从...开始Collections.sort,采用自定义比较器的一个 http://download.oracle.com/javase/6/docs/api/java/util/Collections.html#sort(java.util.List,%20java.util.Comparator)。你需要写一个自定义的比较器 http://download.oracle.com/javase/6/docs/api/java/util/Comparator.html为此也。

例如,假设您想要依赖在 CompareTo 方法中定义的字符串的自然排序:

public static void main(String[] args) throws Exception {
        ArrayList<String[]> listOfStringArrays = new ArrayList<String[]>();
        listOfStringArrays.add(new String[] {"x","y","z"});
        listOfStringArrays.add(new String[] {"a","b","c"});
        listOfStringArrays.add(new String[] {"m","n","o"});
        Collections.sort(listOfStringArrays,new Comparator<String[]>() {
            public int compare(String[] strings, String[] otherStrings) {
                return strings[1].compareTo(otherStrings[1]);
            }
        });
        for (String[] sa : listOfStringArrays) {
            System.out.println(Arrays.toString(sa));
        }
        /* prints out 
          [a, b, c]
          [m, n, o]
          [x, y, z]
        */ 

    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中ArrayList的排序 的相关文章

随机推荐

  • Fiddler 重新发行以及作曲家编辑和重新发行

    我在日常生活中使用 Fiddler 然而 对我来说最常用的功能 例如Reissue and Edit and Reissue from composer没有任何捷径 我不知道如何为此使用 fiddler 脚本 有人能指出这个问题的解决方案吗
  • 如何使用 Material ui Reactjs 禁用今天日期中的过去日期?

    我正在使用 React Material ui 创建日期范围选择器 我此功能背后的逻辑是选择所需日期 如果已选择所需日期 则禁用所选日期中的所有过去日期 如何实现这个react材质ui 这是我的代码 import React from re
  • struts 2将属性标签的值分配给隐藏字段

    我想将字段描述中的值分配给隐藏字段测试 但问题是 描述 包含单词序列 并且以下代码仅将第一个单词分配给 测试
  • 何时考虑 Solr

    我正在开发一个应用程序 需要通过搜索来做有趣的事情 包括全文搜索 命中突出显示 分面搜索等 该数据集可能有 3000 10000 条记录 每条记录有 20 30 个字段 并且全部存储在 MySQL 中 该网站的流量概况可能是中小型 所有这些
  • 如何将可绘制图像附加到 Gmail?

    我正在尝试将 gridview 中的图像附加到 gmail 或 facebook 但是每当我尝试附加应用程序时就会崩溃 并且我收到以下带有空指针异常的错误 以下是我使用 gridview 图像选择的代码 有人可以帮忙吗 public cla
  • VSCodium - Python 模块没有绿色语法

    最近 我正在尝试从 VSCode 迁移到 VSCodium 我发现一个问题是VSCodium中没有模块的绿色着色 如下图所示 左 VSCode 具有绿色语法 右 VSCodium 没有绿色语法 我在网上看到一些其他的截图 他们的 VSCod
  • java.time.ZonedDateTime.parse 和 iso8601?

    为什么 JDK8 DateTime 库似乎无法解析有效的 iso8601 日期时间字符串 它因表示为 01 而不是 01 00 的时区偏移而阻塞 这有效 java time ZonedDateTime parse 2015 08 18T00
  • 在 Thymeleaf 方言处理器中访问 HttpServletRequest 和 HttpServletResponse

    我正在尝试创建一个执行 ServletDispatcher include 的 Thymeleaf 方言处理器 我扩展了 AbstractElementTagProcessor 并重写了 doProcess 方法 相关代码片段是 Overr
  • 从中间件调用控制器的操作方法

    我的中间件类位于不同的类库项目中 控制器位于不同的项目中 我正在尝试做的事情是 如果不满足特定条件 则从中间件重定向到自定义控制器 操作方法 但是 我无法使用 Response Redirect 方法来做到这一点 我怎样才能在中间件类中做到
  • 无法在 Go 代码中获取 AWS EKS 集群的 kubeconfig

    我已经创建了一个 AWS EKS 集群 为了获取它的 kubeconfig 我通常运行aws eks update kubeconfig name cluster name region us west 2使用外壳 但是 我现在希望在 Go
  • Docker-compose 命名挂载卷

    为了跟踪 docker compose 使用的卷 我想使用命名卷 这对于 正常 卷非常有效 例如 version 2 services example app volume named vol dir in container volume
  • 如果用户未使用 FastAPI-Login 包登录,则重定向到登录页面

    我想在用户未登录时将他们重定向到登录页面 这是我的代码 from fastapi import Depends FastAPI HTTPException status Body Request from fastapi encoders
  • AS3 的 Tween 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人可以推荐我一个好的 AS3 Tween 库吗 用于 Flash 而不是 Flex 吐温精简版 ht
  • 从服务中删除持续通知

    我有一项在启动时创建通知的服务 然后 ondestroy 我希望将其删除 我只是使用 cancel NOTIFICATION ID 当它是正常通知时它效果很好 但当我使用正在进行的事件时它不会取消它 我确实读到过一些关于如果 android
  • UILabel字体:粗体和斜体[重复]

    这个问题在这里已经有答案了 可能的重复 iPhone iPad的UILabel如何设置粗体和斜体 https stackoverflow com questions 4713236 how do i set bold and italic
  • 流音频中的降噪和压缩

    希望你能帮忙 我正在从麦克风录制音频并通过网络实时传输 样本的质量为 11025hz 8 位 单声道 虽然有一点延迟 1秒 但效果很好 我需要帮助的是我现在正在尝试实现降噪和压缩 以使音频更安静并使用更少的带宽 音频样本存储在 C 的 by
  • 计算给定记录的跳过值以进行排序分页

    我正在尝试使用 php 驱动程序计算 mongo db 集合中给定记录的跳过值 因此 获取给定的记录 找出该记录在整个集合中的索引 这可能吗 目前 我正在选择所有记录并手动对结果数组进行索引 这称为 前向分页 这是一个概念 您可以在使用 排
  • 2009 年 OpenGL 窗口库 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 尝试选择一个库来为我的 OpenGL 应用程序创建窗口并捕获用户输入 但选择太多 GLUT http
  • onActivityCreated/onStart/onViewCreated 方法中的 getView() 出现 NullPointerException 警告

    I know getView 可能会在内部返回 nullonCreateView 方法 但即使我把下面的代码放在里面onActivityCreated onStart or onViewCreated 方法 它仍然显示有关可能的警告Null
  • Java中ArrayList的排序

    排序的最佳方法是什么ArrayList