开发者社区> 力不竭战不止> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

key-value配对:java Pair<L, R>api使用

简介: key-value配对:java Pair<L, R>api使用
+关注继续查看

key-value配对:java Pairapi使用


当我们在需要返回两种值的情况下可以使用这个api,在核心Java库中可以使用配对(Pair)的实现、Apache Commons。如果原来的项目中jdk低于1.8建议使用Apache Commons这种方法,这样不用动原项目的jdk。

Pair类


Pair类在javafx.util 包中,类构造函数有两个参数,键及对应值:


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


其键和值可以通过标准的getter和setter方法获得。


另外AbstractMap 类还包含一个嵌套类,表示不可变配对:SimpleImmutableEntry 类。


AbstractMap.SimpleImmutableEntry<Integer, String> entry = new AbstractMap.SimpleImmutableEntry<>(1, "one");


应用方式与可变的配对一样,除了配置的值不能修改,尝试修改会抛出UnsupportedOperationException异常。


Apache Commons


maven导入依赖


 

org.apache.commons
commons-lang3
3.7


在Apache Commons库中,org.apache.commons.lang3.tuple 包中提供Pair抽象类,不能被直接实例化,可以通过Pair.of(L,R)实例化,提供了getLeft()和getRight()方法。


public class RedisTest {
    public static void main(String[] args) {
        try {
            //不可变配对
            Pair pair = new ImmutablePair<>("123", "456");
            //可变配对
            Pair pairV2 = new MutablePair<>("123", "456");
      //不可变配对set值会抛错
            //pair.setValue("123");
            pairV2.setValue("123");
            System.out.println(pair.getKey());
            System.out.println(pair.getValue());
            System.out.println(pair.getLeft());
            System.out.println(pair.getRight());
            System.out.println("-----------");
            System.out.println(pairV2.getKey());
            System.out.println(pairV2.getValue());
            System.out.println(pairV2.getLeft());
            System.out.println(pairV2.getRight());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

1.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
HBase基础编程——HBase Java API编程
HBase基础编程——HBase Java API编程
0 0
【Java深层系列】「技术盲区」让我们一起完全吃透针对于时间和日期相关的API指南
【Java深层系列】「技术盲区」让我们一起完全吃透针对于时间和日期相关的API指南
0 0
【Java技术指南】「Java8编程专题」让你真正会用对Java新版日期时间API编程指南
【Java技术指南】「Java8编程专题」让你真正会用对Java新版日期时间API编程指南
0 0
Java中常用API总结(5)—— Object类中的深克隆和浅克隆
不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来;基本数据类型拷贝过来的是具体的数据,引用数据类型拷贝过来的是地址值。在Object类中默认的克隆方式就是浅克隆
0 0
Java中常用API总结(4)—— Object类(含实例解读和源码阅读)
Object类所在包是java.lang包,Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类;换句话说,该类所具备的方法,其他所有类都继承了。
0 0
Java中常用API总结(3)—— Runtime类(含实例解读)
Runtime类所在包为java.lang包,因此在使用的时候不需要进行导包;并且Runtime类被public修饰了,因此该类是可以被继承的
0 0
Java中常用API总结(2)—— System类(含实例解读)
System类所在包为java.lang包,因此在使用的时候不需要进行导包;并且System类被final修饰了,因此该类是不能被继承的
0 0
Java中常用API总结(1)—— Math类(含底层源码阅读)
Java中常用API总结(1)—— Math类(含底层源码阅读)
0 0
Spark Streaming实时流处理项目实战笔记——Kafka Consumer Java API编程
Spark Streaming实时流处理项目实战笔记——Kafka Consumer Java API编程
0 0
+关注
力不竭战不止
本人csdn地址:https://blog.csdn.net/asd1358355022?spm=1000.2115.3001.5343
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CUDA Math API
立即下载
Java Spring Boot开发实战系列课程【第15讲】:Spring Boot 2.0 API与Spring REST Docs实战
立即下载
重保场景及API安全指南
立即下载