我喜欢Java有一个Map,你可以在其中定义地图中每个条目的类型<String, Integer>.
我正在寻找的是一种集合,其中集合中的每个元素都是一对值.对中的每个值都可以有自己的类型(如上面的String和Integer示例),它是在声明时定义的.
该集合将保持其给定的顺序,并且不会将其中一个值视为唯一键(如在地图中).
基本上我希望能够定义类型的ARRAY <String,Integer>或任何其他2种类型.
我意识到我可以创建一个只有2个变量的类,但这看起来过于冗长.
我也意识到我可以使用2D数组,但由于我需要使用不同的类型,我必须使它们成为OBJECT数组,然后我必须一直投射.
我只需要在集合中存储对,所以每个条目只需要两个值.如果没有上课路线,这样的事情会存在吗?谢谢!
Java中的Hashtable将受益于具有元组结构的值.我可以在Java中使用哪种数据结构来做到这一点?
Hashtable<Long, Tuple<Set<Long>,Set<Long>>> table = ...
Run Code Online (Sandbox Code Playgroud) 我正在玩Java SE 8中的惰性函数操作,我想要一个对/元组map的索引,然后基于第二个元素,最后只输出索引.i(i, value[i])filtervalue[i]
我是否仍然要忍受这个问题:Java中的C++ Pair <L,R>相当于什么?在lambdas和溪流的大胆新时代?
更新:我提供了一个相当简化的示例,其中有一个由@dkatzel提供的简洁解决方案,其中一个答案如下.但是,它没有概括.因此,让我添加一个更一般的例子:
package com.example.test;
import java.util.ArrayList;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
boolean [][] directed_acyclic_graph = new boolean[][]{
{false, true, false, true, false, true},
{false, false, false, true, false, true},
{false, false, false, true, false, true},
{false, false, false, false, false, true},
{false, false, false, false, false, true},
{false, false, false, false, false, false}
};
System.out.println(
IntStream.range(0, …Run Code Online (Sandbox Code Playgroud) 假设我有2个并行集合,例如:a中的人名List<String>列表以及a List<Int>中相同顺序的年龄列表(以便每个集合中的任何给定索引指向同一个人).
我想同时遍历这两个集合,并获取每个人的姓名和年龄,并用它做一些事情.使用数组,这很容易完成:
for (int i = 0; i < names.length; i++) {
do something with names[i] ....
do something with ages[i].....
}
Run Code Online (Sandbox Code Playgroud)
使用集合执行此操作的最优雅方式(在可读性和速度方面)是什么?
这是一个小问题,因为我可以轻松地掀起一对班级来完成这项工作.我不是真的想这样做,我觉得应该有一些简单的,内置的,类似java的方式返回两个值.你们这是最好,最简单的方法吗?阵列?其他一些数据结构?
我习惯用PHP编码,但我并不熟悉Java,这已经有一段时间了.我希望它是一个相当简单的解决方案,但是我无法通过任何方式找到任何好的示例代码,所以这里是:
我正在编写一个游戏,它发生在基于图块的地图上的2d随机生成的无限世界中(挑剔:我知道它不会真正无限.我只是期望世界变得非常大).地图的常用方法[X] [Y]多维数组开始了作为一个基本的想法,但由于Java不用于非整数提供了一种方法(即负)阵列关键有心计,如PHP做,我不能正确有( - x,+ x,-y,+ y)带数组键的坐标系.
我需要能够在特定的x,y坐标处找到瓷砖上的对象,以及找到某个瓷砖的"相邻瓷砖".(如果我可以getObjectAt(x,y),我可以获得(x + 1,y)等等)
我读过四棵树和R树等.这个概念很令人兴奋,但我还没有在Java中看到任何好的,简单的示例实现.此外,我不确定这是否是我所需要的.
欢迎任何建议
谢谢
是否有可靠的Java Pair类实现?
我的意思是随时可用,广泛接受和测试,可能是更广泛的库的一部分,如Apache Commons或Guava.
今天我在登录表单后面添加了额外的安全检查,以减缓暴力攻击.我有多个登录表单,并且做了一个很好的易于调用的函数,它执行所有检查,然后返回结果.
public static ValidateLoginResult validateLogin(HttpServletRequest request, String email, String password) {
Run Code Online (Sandbox Code Playgroud)
问题是结果不是单个值,结果包括:
boolean ok
String errorMessage
boolean displayCaptcha
Run Code Online (Sandbox Code Playgroud)
为此我创建了一个新类.一切正常.
但是我经常有一些方便的实用程序函数返回多个值,并且开始发现每次为结果创建一个新类有点烦人.
有没有更好的方法来返回多个值?还是我只是懒惰?:)
对于非有序的对列表,哪个类最有效?我将采用一堆(浮动,短)对,并且需要能够执行简单的数学运算(比如将这些对相乘以返回单个浮点数等).List只接受一个参数,而HashMap不允许重复(据我所知).有什么想法吗?
java ×10
collections ×1
coordinate ×1
function ×1
java-8 ×1
java-stream ×1
lambda ×1
list ×1
map ×1
return ×1
tile ×1
tuples ×1