根据列对二维 int 数组进行排序的过程

2023-11-25

我之前拥有的数组以及排序后我们想要的数组:

Before:

Box    Weight    Priority
1       50          5
2       30          8
3       90          6
4       20          7  
5       80          9

After:

Box    Weight    Priority
3       90          6
5       80          9
1       50          5
2       30          8
4       20          7

我们在 int 矩阵中工作:

data= new int[BoxNumber][3];

排序基于第二列权重。我正在寻找一个对数据数组进行排序的过程。

 public void sortC(int[][] temp)
{
    if (temp.length >= 2)
    {
        for (int i = 1; i <= temp.length - 1; i++)
        {
            int[] hold = temp[i];
            int[] holdP = temp[i-1];

            int j = i;

            while (j > 0 && hold[1] < holdP[1]) // 1 represents the reference of sorting
            {
                hold = temp[j];
                holdP = temp[j-1];

                temp[j] = holdP;
                temp[j-1] = hold;

                j--;
            }
        }
    }
}

 sortC(data);

我尝试了这个,但不幸的是它没有给出正确的排序,我无法弄清楚泡菜。


Use java.util.Arrays.sort与定制Comparator.

int[][] temp = { { 1, 50, 5 }, { 2, 30, 8 }, { 3, 90, 6 },
        { 4, 20, 7 }, { 5, 80, 9 }, };
Arrays.sort(temp, new Comparator<int[]>() {
    @Override
    public int compare(int[] o1, int[] o2) {
        return Integer.compare(o2[1], o1[1]);
    }
});

作为什莫塞尔如以下所说的,对于 Java 8,您可以使用:

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

根据列对二维 int 数组进行排序的过程 的相关文章

  • CXF Swagger2功能添加安全定义

    我想使用 org apache cxf jaxrs swagger Swagger2Feature 将安全定义添加到我的其余服务中 但是我看不到任何相关方法或任何有关如何执行此操作的资源 下面是我想使用 swagger2feature 生成
  • 在浏览器中点击应用程序时播放框架挂起

    我正在 Play 中运行一个应用程序activator run 也许 5 次中有 3 次 它会挂起 当我去http localhost 9000 它就永远坐在那里旋转 我看到很多promise timed out错误也 我应该去哪里寻找这个
  • 在数据流模板中调用 waitUntilFinish() 后可以运行代码吗?

    我有一个批处理 Apache Beam 作业 它从 GCS 获取文件作为输入 我的目标是根据执行后管道的状态将文件移动到两个 GCS 存储桶之一 如果管道执行成功 则将文件移动到存储桶 A 否则 如果管道在执行过程中出现任何未处理的异常 则
  • Java 页面爬行和解析之 Crawler4j 与 Jsoup

    我想获取页面的内容并提取其中的特定部分 据我所知 此类任务至少有两种解决方案 爬虫4j https github com yasserg crawler4j and Jsoup http jsoup org 它们都能够检索页面的内容并提取其
  • jdbc4.MySQLSyntaxErrorException:数据库中不存在表

    我正在使用 SpringBoot 开发一个网络应用程序 这是我的application properties文件来指定访问数据库的凭据 spring datasource driverClassName com mysql jdbc Dri
  • hibernate总是自己删除表中的所有数据

    您好 我正在开发一个 spring mvc 应用程序 它使用 hibernate 连接到存储文件的 mysql 数据库 我有两个方法 一个方法添加我选择的特定文件路径中的所有文件 另一种方法调用查询以返回从 mysql 存储的文件列表 问题
  • 使用替换字符串中多个单词的最有效方法[重复]

    这个问题在这里已经有答案了 此刻我正在做 Example line replaceAll replaceAll cat dog replaceAll football rugby 我觉得那很丑 不确定有更好的方法吗 也许循环遍历哈希图 ED
  • Prim 的迷宫生成算法:获取相邻单元格

    我基于 Prim 算法编写了一个迷宫生成器程序 该算法是 Prim 算法的随机版本 从充满墙壁的网格开始 选择一个单元格 将其标记为迷宫的一部分 将单元格的墙壁添加到墙壁列表中 While there are walls in the li
  • 如何将文件透明地传输到浏览器?

    受控环境 IE8 IIS 7 ColdFusion 当从 IE 发出指向媒体文件 例如 mp3 mpeg 等 的 GET 请求时 浏览器将启动关联的应用程序 Window Media Player 我猜测 IIS 提供文件的方式允许应用程序
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 将多模块 Maven 项目导入 Eclipse 时出现问题 (STS 2.5.2)

    我刚刚花了最后一个小时查看 Stackoverflow com 上的线程 尝试将 Maven 项目导入到 Spring ToolSuite 2 5 2 中 Maven 项目有多个模块 当我使用 STS 中的 Import 向导导入项目时 所
  • Java中未绑定通配符泛型的用途和要点是什么?

    我不明白未绑定通配符泛型有什么用 具有上限的绑定通配符泛型 stuff for Object item stuff System out println item Since PrintStream println 可以处理所有引用类型 通
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • 将 JSON 参数从 java 发布到 sinatra 服务

    我有一个 Android 应用程序发布到我的 sinatra 服务 早些时候 我无法读取 sinatra 服务上的参数 但是 在我将内容类型设置为 x www form urlencoded 之后 我能够看到参数 但不完全是我想要的 我在
  • Windows 上的 Nifi 命令

    在我当前的项目中 我一直在Windows操作系统上使用apache nifi 我已经提取了nifi 0 7 0 bin zip文件输入C 现在 当我跑步时 bin run nifi bat as 管理员我在命令行上看到以下消息 但无法运行
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • com.jcraft.jsch.JSchException:身份验证失败

    当我从本地磁盘上传文件到远程服务器时 出现这样的异常 com jcraft jsch JSchException Auth fail at org apache tools ant taskdefs optional ssh Scp exe
  • 如何将变量插入 PHP 数组?

    我在网上查了一些答案 但都不是很准确 我希望能够做到这一点 id result id info array id Example echo info 0 这有可能吗 您需要的是 不推荐 info array id Example varia
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item

随机推荐

  • 有没有办法通过protractor cli传递多个浏览器

    只是想知道是否可以像这样指定 cli args 到量角器 multiCapability 0 browserName chrome multiCapability 1 browserName firefox 以便它覆盖量角器conf文件中定
  • 获取最后一个顶级命令作为字符串

    有没有办法将最后一个顶级命令存储到字符串中 而无需将历史记录保存到文件中并将其读回以获取最后一个命令 我有这方面的代码 lastcmd lt function tmp lt tempfile savehistory tmp If we ca
  • XPath:一起选择自己和跟随的兄弟姐妹

    div dt Test 1 dt dd dd dt Test 2 dt dd dd div 到目前为止我已经写了这个 XPath dt contains text Test self dt following sibling dd 但这并没
  • Node.js - 设置系统日期/时间

    有没有办法从 Node js 服务器设置操作系统上的日期 时间 有很多关于如何更改时区的示例 但我需要更改电脑的实际日期 时间 我的回答基于 Mimouni的回答https stackoverflow com a 23156354 1799
  • Caliburn.Micro 嵌套 ViewModel 最佳实践

    这是一个很长的问题 所以请耐心等待 目前 我正在开发一个小工具 旨在帮助我跟踪故事中的无数角色 该工具执行以下操作 加载当前以 json 形式存储在磁盘上的字符并将它们存储在列表中 该列表通过 ListBox 在 Shell 中呈现 如果用
  • 如何在 SimCity 5 中实现建筑物在移动时摆动的物理效果?

    用纯文字很难描述 所以我录了一个GIF来演示 https public lightpic info image 2B1F 582465841 gif 我目前正在做一个项目 需要这样的效果 目前我已经用SpriteKit在iOS上完成了类似的
  • NGINX 透明 TCP 代理

    我有一个 ELK 堆栈 在两台 Logstash 主机前面 我设置了两个 NGINX 负载均衡器作为透明代理 UDP 流量正在发挥作用 TCP 与配置一起工作 stream upstream syslog server sapvmlogst
  • 如何使用 jQuery 模板设置日期/时间格式?

    我刚刚开始使用jQuery 模板作为我的 javascript 模板引擎 我的问题是 如何将日期 从 ASP NET Json ActionResult 返回 格式化为以下形式 Date 1288709830000 我尝试执行以下操作 fo
  • 优化Java中字符串集合的内存使用

    我有大量的名称 值对 大约 100k 我需要将它们存储在某种缓存 例如哈希映射 中 其中值是平均大小约为 30k 字节的字符串 现在我知道一个事实 即大量值具有完全相同的字符串数据 为了避免多次分配相同的字符串数据 我想以某种方式重用以前分
  • Android - ImageView 内的画布绘制线

    我有一个 ImageView 我想在其中画一条线 我已经做了以下操作 mImagenCampo ImageView findViewById R id imagen campo crearPunto mArea9M mPaloIzq v g
  • 如何在Android SQLite中使用TRIGGER

    我的数据库中有两个表 表一有姓名和房间号栏 表二有房间号和时间栏 现在 当删除或添加第一列中的房间号时 我的第二个表也应该更新 我认为这可以通过 TRIGGER 命令实现 但我不太确定如何使用它 一般来说我的创建数据库语句是这样的 priv
  • 获取年份中的季度开始日期和结束日期

    我正在使用 SQL Server 2008 我想获取一年中所有季度的开始日期和结束日期 例如 如果我在查询中传递 2013 那么输出应该像 StartDate EndDate QuarterNo 2013 04 01 00 00 00 00
  • 未使用 MetadataType 加载元数据

    我有一些问题 疑问元数据类型 我有 DLL 帮助程序项目 用于使用 LinqToSQL 从 MS SQL Server 访问数据 我还需要为生成的类 ClientInfoView 添加元数据 我是按照以下方式完成的 using System
  • 如何识别程序集是使用 .NET 4.5(而不是 .NET 4.0)编译的?

    我有一些构建代理通过 TeamCity 设置为我们构建 NET 代码 我开始怀疑 尽管有项目设置 它们是否仍在输出 NET 4 5 构建的程序集 我的怀疑来自于这样一个事实 我不知道 Windows 2012 Server 是否附带了开箱即
  • 在 ViewPager 内部设计 Horizo​​ntalScrollView 或使用片段:

    我需要设计以下屏幕 需要您的建议 解释 标题是静态 固定的 我不需要对它做任何事情 Yellow 这是有趣的部分 我需要设计一个ViewPager类似于能够向左 向右滚动最多 4 个屏幕的屏幕 Red 在每个屏幕中 我需要添加一个表格 网格
  • 更改选项卡时如何隐藏软键盘?

    编辑 看来我没有说清楚 我需要的是一种每当我替换所在片段时隐藏软键盘的方法 我该如何去做呢 让我保持简单 我在 Tab Fragment 1 2 中有一个 EditText 框 按下时它显然会打开软键盘 当选项卡更改时如何隐藏它 我在 on
  • Android,对话框中的SeekBar

    我想在我的应用程序中使用带有搜索栏的对话框 但我真的不知道该怎么做 因为我缺乏 Android 经验 因此 当您按下按钮时 应该出现一个带有搜索栏的对话框 用户可以输入一个值 然后按 确定 按钮 我现在的代码是developer andro
  • Class.getResource() 返回 null

    我试图在 JPanel 上显示图片 但我不断收到错误 java lang IllegalArgumentException 输入 null 我不明白发生了什么事 这是我正在使用的代码 public void actionPerformed
  • 如何将桌面图标设置为C# Windows窗体[重复]

    这个问题在这里已经有答案了 我已经调试了 C WinForm exe 将其复制到桌面并想将其分发给其他人 如何为此 exe 设置 ico 以便桌面图标自动出现在计算机上 该计算机也会下载它 而无需进行任何调整 在 Visual Studio
  • 根据列对二维 int 数组进行排序的过程

    我之前拥有的数组以及排序后我们想要的数组 Before Box Weight Priority 1 50 5 2 30 8 3 90 6 4 20 7 5 80 9 After Box Weight Priority 3 90 6 5 80