如何在Java中存储一组成对的数字?我使用列表或数组,还是其他?
例如。[(1,1),(2,1),(3,5)]
有几种选择:
编写自定义的IntPair类
class IntPair {
// Ideally, name the class after whatever you're actually using
// the int pairs *for.*
final int x;
final int y;
IntPair(int x, int y) {this.x=x;this.y=y;}
// depending on your use case, equals? hashCode? More methods?
}
然后创建一个IntPair[]
或一个List<IntPair>
。
或者,创建一个二维数组new int[n][2]
,并将行视为对。
Java没有内置Pair
类的几个原因,但最引人注目的是,它是很容易写出具有相同功能的类,但 很多
更多的启发,有帮助的名称为类,其字段,以及它的方法。
如果我们更多地了解您实际将其用于什么用途,我们也许可以提供更详细的建议-就我们所知,Map
这里可能是合适的。
我有一个通过ORM保存到数据库的对象。对象有一个字符串数组,每个对象的数组长度可以不同。我想知道在db中存储字符串数组的标准做法(例如,我是否应该将所有字符串存储在一个字段中作为csv等)?
问题内容: 尝试使用javax.crypto库对字符串进行加密并将其存储在数据库(Oracle)中。稍后我将需要解密此字符串,因此我需要双向算法。 问题是数据库似乎不接受该方法创建的某些加密字符。我们介于将数据库迁移到新服务器之间。旧数据库使用US7ASCII字符集,而新数据库使用AL32UTF8。当我将加密的字符串放入数据库中时,数据库只是将它们转换为US7ASCII数据库中的问号(?)。它似乎
我正在尝试开发一个简单的客户机-服务器应用程序,向服务器发送命令,对其进行处理,然后将结果发送回来并显示出来。 用户将被要求以“命令x y”的形式输入请求。 例如,用户将输入: 然后输出为 应用程序可以接受以下命令:加、减、乘、除 由于用户需要在一行中输入请求,我考虑将用户输入存储在一个数组中,并使用一个开关大小写,这样,如果第一个命令是add,它将添加x和y。如果第一个命令是下位,它将减去x和y
主要内容:程序员的幽默计算机要处理的信息是多种多样的,如数字、文字、符号、图形、音频、视频等,这些信息在人们的眼里是不同的。但对于计算机来说,它们在内存中都是一样的,都是以二进制的形式来表示。 要想学习编程,就必须了解二进制,它是计算机处理数据的基础。 内存条是一个非常精密的部件,包含了上亿个电子元器件,它们很小,达到了纳米级别。这些元器件,实际上就是电路;电路的电压会变化,要么是 0V,要么是 5V,只有这两种电压。
问题内容: 使用Java 对象,最简单的方法是将它们存储为MySql 对象(在UTC中)。切换到这种方法将不再起作用,因为MySQL 无法提供存储纳秒的精度。仅将它们截断可能会导致新创建的对象与从数据库读取的对象之间的意外比较结果。 时间戳不适合我作为一个优雅的解决方案:手动编写选择查询变得更加困难,因为必须将时间戳转换到任何地方以使其可读,并且与值甚至值相比,Java的处理有些笨拙。 去这里最好
问题内容: 创建一个单独的类并将其用作仅包含静态数据变量的存储是一个坏主意吗? 我目前正在为android开发一个应用程序,但问题是Java的一般问题。 在android的情况下,我在活动之间移动,我想在该单独的类中存储一些全局/静态标志/变量,并能够从我想要的任何活动中访问它们。 PS。该数据仅在会话时间内是必需的。 问题答案: 好吧,这不是一个坏主意。您可以在Android中使用此类的类。但是