java中Pair简介说明

戚薇 Java教程 发布时间:2023-05-23 14:08:42 阅读数:11777 1
下文笔者讲述Java中Pair的简介说明,如下所示

Pair简介

Pair的意思是对
Pair是一种数据结构
   用于同时返回两个值

javafx.util.Pair类实现

 
import javafx.util.Pair;
 
Pair<Integer, String> pair = new Pair<>(1, "Java265");
Integer key = pair.getKey();
String value = pair.getValue();

java.util.AbstractMap类

AbstractMap.SimpleEntry<Integer, String> entry = new AbstractMap.SimpleEntry<>(1, "Java265");
Integer key = entry.getKey();
String value = entry.getValue();
 
entry.setValue("two");
AbstractMap.SimpleImmutableEntry<Integer, String> entry  = new AbstractMap.SimpleImmutableEntry<>(1, "Java265");
 
Integer key = entry.getKey();
String value = entry.getValue();

注意事项:
   调用SimpleImmutableEntry类的setValue方法会抛出UnsupportedOperati***xception异常

org.apache.commons.lang3库

commons.lang3库中
   包含ImmutablePair和MutablePair两个类
ImmutablePair<Integer, String> pair = new ImmutablePair<>(2, "Two");
Integer key = pair.getKey();
String value = pair.getValue();
 
Pair<Integer, String> pair2 = new MutablePair<>(3, "Three");
Integer key2 = pair2.getKey();
String value2 = pair2.getValue();
pair2.setValue("New Three");

使用静态方法创建Pair

MutablePair<Boolean, String> of2 = MutablePair.of(false, "11111111");
System.out.println(of2.getKey()+","+of2.getValue());
of2.setValue("22222");
System.out.println(of2.getKey()+","+of2.getValue());
 
ImmutablePair<Boolean, String> of3 = ImmutablePair.of(false, "111111111");
System.out.println(of3.getKey()+","+of3.getValue());
of3.setValue("22222");//抛异常
System.out.println(of3.getKey()+","+of3.getValue());
 
Pair<Boolean, String> of = Pair.of(false, "111111111");
System.out.println(of.getKey()+","+of.getValue());
of.setValue("22222");//抛异常
System.out.println(of.getKey()+","+of.getValue()); 

注意事项:
  无论是MutablePair还是ImmutablePair
   都没有setKey方法

Vavr库实现Pairs

vavr库是函数式编程的一个库
  提供Tuple2类
Tuple2<Integer, String> pair = new Tuple2<>(4, "Four");
Integer key = pair._1();
String value = pair._2();
注:这种方式创建后无法再进行修改,可以调用update1和update2方法,但是会返回一个新的Tuple2对象。

Tuple2<Integer, String> pair = new Tuple2<>(4, "Four");
Integer key = pair._1();
String value = pair._2();
System.out.println(key+","+value);//4,Four
 
Tuple2<Integer, String> update1 = pair.update1(5);
System.out.println(update1._1+","+update1._2);//5,Four
 
Tuple2<Integer, String> update2 = pair.update2("Five");
System.out.println(update2._1+","+update2._2);//4,Five
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202305/6577.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者