java 元组 getinteger_值对的Java集合?(元组?)

Java 9+

在Java 9中,您可以简单地编写:Map.entry(key, value)若要创建不可变的对,请执行以下操作。

注:此方法不允许键或值为空。例如,如果希望允许空值,则需要将其更改为:Map.entry(key, Optional.ofNullable(value)).

Java 8+

在Java 8中,您可以使用更通用的javafx.util.Pair若要创建不可变、可序列化的对,请执行以下操作。这个班是吗?允许空键和空值。(在Java 9中,这个类包含在javafx.base模块)。编辑:从Java 11开始,JavaFX已经与JDK分离,所以您需要额外的maven工件org.openjfx:JavaFX-base。

Java 6+

在Java 6和更高版本中,您可以使用更详细的AbstractMap.SimpleImmutableEntry对于不可变的一对,或AbstractMap.SimpleEntry对于值可以更改的一对。这些类还允许空键和空值,并且是可序列化的。

安卓

如果您是为Android编写的,只需使用Pair.create(key, value)若要创建不可变的对,请执行以下操作。

阿帕奇公域

日食收藏

如果使用包含原语的对,日食收藏提供一些非常有效的基元对类,以避免所有效率低下的自动装箱和自动取消装箱。

Lombok项目

使用Lombok项目,只需编写以下内容,就可以创建不可变的对类:@Valuepublic class Pair {

K key;

V value;}

Lombok会填写构造函数getter,equals(), hashCode(),和toString()方法自动在生成的字节码中。如果您想要静态工厂方法而不是构造函数,例如Pair.of(k, v),只需将注释更改为:@Value(staticConstructor = "of").

不然的话

如果上述解决方案中没有一个浮动您的船,您可以简单地复制和粘贴以下代码(与接受的答案中列出的类不同,它防止NullPointerExceptions):import java.util.Objects;public class Pair {

public final K key;

public final V value;

public Pair(K key, V value) {

this.key = key;

this.value = value;

}

public boolean equals(Object o) {

return o instanceof Pair && Objects.equals(key, ((Pair,?>)o).key) && Objects.equals(value, ((Pair,?>)o).value);

}

public int hashCode() {

return 31 * Objects.hashCode(key) + Objects.hashCode(value);

}

public String toString() {

return key + "=" + value;

}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值