iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >介绍java中Pair(配对)
  • 665
分享到

介绍java中Pair(配对)

java中Pairjava配对实现 2023-03-19 17:03:21 665人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录介绍java中Pair核心java配对实现Pair类AbstractMap.SimpleEntry 和 AbstractMap.SimpleImmutableEntryApach

介绍java中Pair

在这篇文章中,我们讨论了一个非常有用的编程概念,配对(Pair)。配对提供了一种方便方式来处理简单的键值关联,当我们想从方法返回两个值时特别有用。

关于Java中的Pair用法

在核心Java库中可以使用配对(Pair)的实现。除此之外,某些第三方库,比如Apache Commons和Vavr,已经在各自的api中公开了这个功能。

核心java配对实现

Pair类

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

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

示例描述使用Pair类实现简单Integer到String的映射。示例中getKey方法返回key对象,getValue方法返回对应值对象。

AbstractMap.SimpleEntry 和 AbstractMap.SimpleImmutableEntry

SimpleEntry定义在抽象类AbstractMap里面,其构造方法与Pair类似:

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

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

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

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

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

Apache Commons

在Apache Commons库中,org.apache.commons.lang3.tuple 包中提供Pair抽象类,不能被直接实例化。
其有两个子类,分别代表可变与不可变配对:ImmutablePair 和 MutablePair。两者都实现了访问key/value以及setter和getter方法:

    ImmutablePair<Integer, String> pair = new ImmutablePair<>(2, "Two");
    Integer key = pair.getKey();
    String value = pair.getValue();

尝试在ImmutablePair 执行setValue方法,会抛出UnsupportedOperationException异常。但在可变配对上执行完全正常:

    Pair<Integer, String> pair = new MutablePair<>(3, "Three");
    pair.setValue("New Three");

Vavr库

Vavr库中不可变的Tuple2类提供配对功能:

    Tuple2<Integer, String> pair = new Tuple2<>(4, "Four");
    Integer key = pair._1();
    String value = pair._2();

在这个实现中,创建对象后不能修改,所以更新方法返回改变后的新实例:

    tuplePair = pair.update2("New Four");

总结

本文讨论java配对概念,并通过实例展示了其不同的实现,核心java及第三方提供实现。

到此这篇关于介绍java中Pair的文章就介绍到这了,更多相关java中Pair内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 介绍java中Pair(配对)

本文链接: https://www.lsjlt.com/news/200321.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 介绍java中Pair(配对)
    目录介绍java中Pair核心java配对实现Pair类AbstractMap.SimpleEntry 和 AbstractMap.SimpleImmutableEntryApach...
    99+
    2023-03-19
    java中Pair java配对实现
  • Java中的Pair详细
    目录1 Pair用法2 Pair源码3 ImmutablePair源码4 MutablePair源码5 疑问?前言: Java中的Pair在开发的过程中,无意中发现项目中有用到Pai...
    99+
    2024-04-02
  • java中Switch介绍
    定义形式 int i=2;          switch (i){ case 1: System.out.println("1号"); ...
    99+
    2023-09-09
    java Powered by 金山文档
  • java中Pair怎么使用
    今天小编给大家分享一下java中Pair怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。介绍java中Pair关于Ja...
    99+
    2023-07-05
  • Java Apache common-pool对象池介绍
    目录对象生命周期Config详解代码说明ObjectPoolPooledObjectFactoryPooledObject方案提供了三种类型的pool前言; Apache commo...
    99+
    2024-04-02
  • java括号匹配问题介绍
    目录题目描述:问题分析:1 可能存在左括号多的情况2 可能存在右括号多的情况3 存在括号不匹配的情况总结解题思路:代码实现:题目描述: 给定一个只包括 ‘(',')','{','}...
    99+
    2024-04-02
  • Java对象与Java类的详细介绍
    本篇内容介绍了“Java对象与Java类的详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录面向对象是什么Java类什么是类Java...
    99+
    2023-06-20
  • .NET 6全新配置对象ConfigurationManager介绍
    介绍 本节为大家带来.NET 6新增的ConfigurationManager,很多人好奇为啥要讲这个,读取加载配置信息都随手就来了,我们往下看一下。 翻译:这添加了 ASP.NE...
    99+
    2024-04-02
  • 详解Java中对象池的介绍与使用
    目录1. 什么是对象池2. 对象池解决什么问题3. 对象池的优缺点3.1 对象池的优点3.2 对象池弊端4. 对象池有什么特征5. 池的大小选择6. 对象池的使用6.1 接入6.2 ...
    99+
    2023-02-21
    Java对象池使用 Java对象池
  • Vue中的event对象介绍
    一、什么是event对象 event对象:代表的是事件的状态。比如获取当前的元素:e.Target。 二、事件冒泡 什么是事件冒泡呢?百度百科的解释如下: 当事件发生后,这个事件就要...
    99+
    2024-04-02
  • ASP.NETCore中的对象池介绍
    asp.net core中通过扩展库的方式提供给了一个标准的对象池ObjectPool,定义在Microsoft.Extensions.ObjectPool.dll 程序集中。它本身...
    99+
    2024-04-02
  • Vue简明介绍配置对象的配置选项
    目录一、methods二、computer计算属性三、watch四、filter一、methods 一般事件调用的函数都会在methods函数里面属性进行定义,在methods属性进...
    99+
    2024-04-02
  • Java中的抽象介绍
    目录1.抽象类和抽象方法2.何时在示例中使用抽象类和抽象方法3.封装与数据抽象4.抽象的优点前言: 数据抽象是一种仅向用户显示基本细节的属性。不向用户显示琐碎或非必需的单元。例如:汽...
    99+
    2024-04-02
  • Java中15种锁介绍
    公平锁 / 非公平锁 公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。 非公平锁 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。 对于Java ...
    99+
    2023-09-03
    java 开发语言
  • GNS3 配置介绍
    常用配置图文   list可以查看到所有设备的端口信息 telnet 127.0.0.1 2002 D:\progra~1\GNS3\SecureCRT\SecureCRT.EXE /script D:\progra~1\GN...
    99+
    2023-01-31
  • JAVA-JDK1.8介绍
            Java JDK 1.8-Java Development Kit的第8个主要版本。Java JDK 1.8是Java编程语言的一个重要版本,引入了一些新的功能和改进,同时也修复了几项bug。在本博客中,我将详细介绍Java...
    99+
    2023-09-01
    java 开发语言
  • JavaScript中的内置对象介绍
    一、对象的概念 对象是一种特殊的数据类型(object)。拥有一系列的属性和方法。分为内置对象和自定义对象。 二、String对象 String对象用来支持对于字符串的处理。 1、属...
    99+
    2024-04-02
  • Flask  request 对象介绍
    目录1、request请求对象1.1request请求对象的使用前言: 一个完整的 HTTP 请求,包括客户端向服务端发送的 Request 请求和服务器端发送的 Response ...
    99+
    2024-04-02
  • Java中15种锁的介绍
    这篇文章主要介绍“Java中15种锁的介绍”,在日常操作中,相信很多人在Java中15种锁的介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中15种锁的介绍”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-02
  • 有关Java中的BeanInfo介绍
    目录1、JavaBean介绍2、JavaBean的自省3、JavaBean内省工具Introspector4、JavaBean内省结果BeanInfo5、内省结果BeanInfo的类...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作