首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >存储矩阵并在java中进行比较

存储矩阵并在java中进行比较
EN

Stack Overflow用户
提问于 2015-07-22 08:50:03
回答 3查看 168关注 0票数 0

我需要存储许多矩阵,然后通过检索添加的最后一个矩阵和前一个矩阵来比较其中的一些矩阵。

我使用以下方法创建这些矩阵:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int[][] matrix = new int[10][10];

我的矩阵只有0,1s和2s。我想根据每个职位的值比较矩阵。在我的例子中,两个矩阵是不同的,只要至少一个位置有不同的值。每个矩阵都是根据通过反应检测到的元素来创建的。没有移动的元素是2s,添加的元素是1s,没有任何内容的元素是0。

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 2 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 

就不一样了。

存储的矩阵数不是固定的。如果我已经创建了10个矩阵,那么最有效的存储和比较它们的方法是什么?

我在StackOverFlow和其他论坛上搜索过这个,但是找不到答案

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-22 09:12:45

由于矩阵中的许多(可能大多数)条目都是零,因此按原样存储它们是效率低下的。您需要使用稀疏矩阵表示。下面是一个非常详尽的矩阵库列表,其中许多允许稀疏表示。

它们中的大多数还将有一个equals()方法,您可以重写该方法以适应您的定义(如果它们的定义已经与您的定义相同)。

最后,由于只需要比较最后两个矩阵,所以需要某种队列。我会维护一个列表,并为此使用一个ListIterator

票数 1
EN

Stack Overflow用户

发布于 2015-07-22 09:08:05

由于您没有提供任何代码,我只能帮助您的设计。因此,以下是一些设计技巧:

  1. 将矩阵存储在二维数组中。 例:int[][] matrix = new int[5][3];,这给了你一个5x3矩阵。
  2. 由于您不知道您将有多少矩阵,将它们添加到数组中。 例:ArrayList<int[][]> matrices = new ArrayList<>();
  3. 我不知道比较是什么意思,但是,您可以使用嵌套的for循环,通过逐个检索数组列表中的矩阵来进行比较。
票数 0
EN

Stack Overflow用户

发布于 2015-07-22 09:16:58

我会编写一个不同的类Matrix,并重写equalshashcode方法。

如果矩阵中的大多数值为零,则可能需要使用稀疏矩阵表示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31569320

复制
相关文章
Contact Manager Web API 示例[2] Web API Routing
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍,本文主要介绍Web API Routing。 如果你已经熟悉 ASP.NET MVC,你会发现 Web API Routi
张善友
2018/01/22
9740
Contact Manager Web API 示例[2] Web API Routing
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍,本文主要介绍Web API Routing。 如果你已经熟悉 ASP.NET MVC,你会发现 Web API Routi
张善友
2018/01/22
1K0
使用OAuth 2.0访问谷歌的API
谷歌的API使用的OAuth 2.0协议进行身份验证和授权。谷歌支持常见的OAuth 2.0场景,如那些Web服务器,安装,和客户端应用程序。
拿我格子衫来
2022/01/24
4.6K0
使用OAuth 2.0访问谷歌的API
Contact Manager Web API 示例[1]CRUD 操作
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d . 下面的文章以这个示例讲解ASP.NET Web API的各方面知识: 1、CRUD操作: CURD 是 "Create, Read, Update, Delete" (新增、读取、更新、删除) 的简写,这四个动作是数据
张善友
2018/01/22
9290
Contact Manager Web API 示例[4] 异常处理(Exception Handling)
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍, Contact Manager Web API 示例[2] Web API Routing 介绍Web API Rout
张善友
2018/01/22
8190
[CORS:跨域资源共享] 同源策略与JSONP
Web API普遍采用面向资源的REST架构,将浏览器最终执行上下文的JavaScript应用Web API消费者的重要组成部分。“同源策略”限制了JavaScript的跨站点调用,这必然导致Web API不能垮域提供资源。如果Web API仅限于为“同源客户端”提供资源,那么它都对不起自己的名字,因为Web本身是一个开放的协议。那么ASP.NET Web API通过怎样的方式来实现跨域资源共享呢? 同源策略 浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境。
蒋金楠
2018/01/15
1.1K0
[CORS:跨域资源共享] 同源策略与JSONP
使用谷歌标准api时protobuf生成遇到的问题
在vscode时新增proto文件时,按下sr会出现一个快捷生成CRUD服务的例子
天地一小儒
2022/12/28
1.9K0
使用谷歌标准api时protobuf生成遇到的问题
API,打开“共享之门”的最好钥匙
我们经常听到开发人员讨论API。API与APP一词看上去很相似,对于APP我们很熟悉,即是应用程序Application的缩写,随着智能手机的普及这一词成了手机软件的代称。但是API又是什么呢? AP
BestSDK
2018/03/01
1K0
API,打开“共享之门”的最好钥匙
C#调用腾讯云文本翻译API,使用V3签名报错。
"Error":{"Code":"AuthFailure.SignatureFailure","Message":"The provided credentials could not be validated. Please check your signature is correct."
用户9018380
2021/09/20
2K0
Contact Manager Web API 示例[3] 分页和查询(Paging and Querying)
联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。 Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍, Contact Manager Web API 示例[2] Web API Routing 介绍Web API Rout
张善友
2018/01/22
1.4K0
点击加载更多

相似问题

List vs ArrayList vs Dictionary vs Hashtable vs Stack vs Queue?

30

innerText vs innerHTML vs label vs text vs textContent vs outerText

665

.c vs .cc vs .cpp vs .hpp vs .h vs .cxx

64

Exec vs ExecWait vs ExecShell vs nsExec::Exec vs nsExec::ExecToLog vs nsExec::ExecToStack vs ExecDos vs ExeCmd

25

bundler vs RVM vs gem vs RubyGems vs gemsets vs system ruby

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文