Table和HashBasedTable的使用案例

-------------------

1.普通使用

package org.example.testhashbasedtable;import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;import java.util.Map;public class TestHashBasedTable {public static void main(String[] args) {Table<String, Integer, Float> table = HashBasedTable.create();table.put("a", 1, 1.1f);table.put("a", 2, 2.2f);System.out.println(table.row("a"));System.out.println(table.column(2));System.out.println(table.row("b"));System.out.println(table.column(1));Map<String, Float> column = table.column(1);}
}/*
{1=1.1, 2=2.2}
{a=2.2}
{}
{a=1.1}感悟:通过r或者c进行查找,得到的是一个包含其它2个字段的map*/

2.putAll 和 遍历

package org.example.testhashbasedtable;import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;public class TestHashBasedTable {public static void main(String[] args) {// 数据源1Table<String, Integer, Float> table = HashBasedTable.create();table.put("a", 1, 1.1f);table.put("a", 2, 2.2f);// 数据源2Table<String, Integer, Float> table2 = HashBasedTable.create();table2.put("a", 11, 1.1f);table2.put("aa", 2, 2.2f);// 数据源1添加到数据源2中table2.putAll(table);System.out.println(table2);// 遍历所有的条目for (Table.Cell<String, Integer, Float> cell : table2.cellSet()) {System.out.println(cell.getRowKey() + "  " + cell.getColumnKey() + " " + cell.getValue());}}
}/*
{a={11=1.1, 1=1.1, 2=2.2}, aa={2=2.2}}
a  11 1.1
a  1 1.1
a  2 2.2
aa  2 2.2*/

行、列、值 就是excel中的表格的抽象。

3.putAll的话,相同行列的是会被覆盖。相当于2个Excel表的融合。

package org.example.testhashbasedtable;import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Sets;
import com.google.common.collect.Table;import java.util.Set;public class Test2 {public static void main(String[] args) {// table1Table<Integer, Integer, Set<Integer>> table = HashBasedTable.create();table.put(1, 2, Sets.newHashSet(4, 5, 6));// table2Table<Integer, Integer, Set<Integer>> table2 = HashBasedTable.create();table2.put(1, 2, Sets.newHashSet(6, 7, 8));// 把table2加到table1中table.putAll(table2);// 发现相同行列的肯定是被覆盖了System.out.println(table);}
}/*
{1={2=[8, 6, 7]}}*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/182652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【方法】PowerPoint如何删除“限制编辑”?

如果PPT文件设置成“只读模式”&#xff0c;就会被限制编辑&#xff0c;也就是无法对PPT进行编辑或更改&#xff0c;那要如何删除这个“限制”呢&#xff1f; 下面小编会按照“无密码的只读方式”、“有密码的只读方式”以及“忘记了密码的只读方式”这3种情况&#xff0c;来说…

enote笔记法之附录2——5w1h2k关联词(ver0.22)

enote笔记法之附录2——5w1h2k关联词&#xff08;ver0.22&#xff09; 最上面的是截屏的完整版&#xff0c;分割线下面的是纯文字版本&#xff1a; 作者姓名&#xff08;本人的真实姓名&#xff09;&#xff1a;胡佳吉 居住地&#xff1a;上海 作者网名&#xff1a;EverSt…

【从删库到跑路 | MySQL总结篇】表的增删查改(进阶下)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录 一、联合…

【接口技术】实验3:可编程并行接口8255

实验3 可编程并行接口8255实验 一、实验目的 1&#xff1a;了解8255芯片结构及编程方法。 2&#xff1a;了解8255输入/输出实验方法。 3&#xff1a;掌握8255控制键盘及显示电路的基本功能及编程方法。 4&#xff1a;掌握一般键盘和显示电路的工作原理。 二、实验内容 1&…

WS2812灯条基于WLED开源项目无门槛使用简介

WS2812灯条基于WLED开源项目无门槛使用简介 &#x1f4cc;项目github地址&#xff1a;https://github.com/Aircoookie/WLED&#x1f4cd;WLED详情地址&#xff1a;https://kno.wled.ge/&#x1f388;网页在线烧录固件地址&#xff1a;https://install.wled.me/ ✨ 仅作为使用的…

linux查询某个进程使用的内存量

linux查询某个进程使用的内存量 查进程用的内存&#xff0c;查看进程占用的内存量&#xff0c;centos查询内存使用 查某个进程id使用的内存量 ps -p 24450 -o rss | awk {print int($1/1024)"MB"} 该命令的含义是&#xff1a; ps -p 24450: 查找进程ID为24450的进…

Nginx漏洞复现与分析

Nginx如何处理PHP请求 Nginx本身不支持直接解析和执行PHP代码,但可以通过与PHP解释器的集成来处理PHP请求。一种常见的方法是使用PHP-FPM(FastCGI Process Manager)作为PHP解释器。 原理图: Step 1 Step 2 +---------------------+ …

安全技术与防火墙

目录 一、安全技术 1、安全技术 2、防火墙的分类 二、netfilter 1、netfilter简述 2、防火墙工具 1.iptables工具 2.netfilter的四表五链 3.内核中数据包的传输过程 4.三种报文流向 5.实操 总结&#xff1a;本章主要介绍了安全技术与防火墙 一、安全技术 1、安全技…

天拓四方分享:危化品企业如何搭建安全生产风险预警防控平台?

危化品企业作为高风险行业&#xff0c;其安全生产问题一直备受关注。为了有效预防和控制危化品企业在生产过程中可能出现的安全风险&#xff0c;提高企业的安全性和稳定性&#xff0c;搭建一套有效的安全生产风险预警防控平台势在必行&#xff0c;通过平台实现危化品生产、储存…

【C 语言经典100例】C 练习实例1

题目&#xff1a;有 1、2、3、4 四个数字&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;都是多少&#xff1f; 程序分析&#xff1a;可填在百位、十位、个位的数字都是 1、2、3、4&#xff0c;组成所有的排列后再去掉不满足条件的排列。 #include<std…

解决Unable to preventDefault inside passive event listener invocation.报错

报错信息&#xff1a; 这个报错大致说的是&#xff1a;无法在被动事件侦听器调用中防止Default 查了其他博主的解决办法&#xff1a;比如&#xff1a; 1、声明事件监听的时候设置为主动事件监听&#xff1a; window.addEventListener(‘touchmove’, handler, { passive: fal…

西南科技大学模拟电子技术实验一(常用电子仪器的使用及电子元器件的识别)预习报告

一、计算/设计过程 说明:本实验是验证性实验,计算预测验证结果。是设计性实验一定要从系统指标计算出元 1、用万用表电阻挡测量实验板(箱)上电位器(可调电阻)的参数范围。 0~1kΩ电阻: 1k*0%=0 1k*100%=1k 所以范围为0~1k 0~10kΩ电阻: 10k*0%=0 10k*…

Javase | Java题目、Java算法题(不断添加中…)

目录: Java算法题1. 编写Java程序&#xff0c; 打印几个特定的ASCII码&#xff0c;包括数组0和9,大写字母A和Z ,小写字母a和z2.编写程序&#xff0c;对是哪个整型变量进行排序&#xff0c;按照从小到大的顺序排列3.用if语句的嵌套&#xff0c;根据学生成绩判断等级4.用switch语…

【软件测试学习】—软件测试模型(二)

【软件测试学习】—软件测试模型&#xff08;二&#xff09; 我 | 在这里 &#x1f469;‍&#x1f9b0;&#x1f469;‍&#x1f9b0; 读书 | 长沙 ⭐计算机科学与技术 ⭐ 本科 【2024届】 &#x1f383;&#x1f383; 爱好 | 旅游、跑步、网易云、美食、摄影 &#x1f396;️…

Uniapp iOS打包配置教程

简介 在Uniapp开发过程中,我们常常需要将应用打包成iOS的安装包。本文将分步骤指导你如何配置iOS打包,并提供相应的代码和注释说明。 流程概览 下表展示了配置iOS打包的整个流程: 步骤描述步骤1创建iOS工程步骤2配置基本信息步骤3添加Uniapp支持步骤4配置App图标步骤5配置…

VR特警野外武装仿真虚拟训练实操教学保证训练效果

特警VR模拟仿真训练软件的优势主要体现在以下几个方面&#xff1a; 真实感和沉浸感&#xff1a;通过VR技术&#xff0c;特警可以在虚拟环境中体验真实的训练场景&#xff0c;如人质解救、反恐行动等。这种真实感和沉浸感可以帮助特警更好地理解和适应实际情况&#xff0c;提高训…

GoLang切片

一、切片基础 1、切片的定义 切片&#xff08;Slice&#xff09;是一个拥有相同类型元素的可变长度的序列它是基于数组类型做的一层封装它非常灵活&#xff0c;支持自动扩容切片是一个引用类型&#xff0c;它的内部结构包含地址、长度和容量声明切片类型的基本语法如下&#…

阿里巴巴矢量图标库的使用

iconfont-阿里巴巴矢量图标库iconfont-国内功能很强大且图标内容很丰富的矢量图标库&#xff0c;提供矢量图标下载、在线存储、格式转换等功能。阿里巴巴体验团队倾力打造&#xff0c;设计和前端开发的便捷工具https://www.iconfont.cn/ 今天来介绍一下阿里巴巴矢量图标库的使用…

【人工智能Ⅰ】实验2:遗传算法

实验2 遗传算法实验 一、实验目的 熟悉和掌握遗传算法的原理、流程和编码策略&#xff0c;理解求解TSP问题的流程并测试主要参数对结果的影响&#xff0c;掌握遗传算法的基本实现方法。 二、实验原理 旅行商问题&#xff0c;即TSP问题&#xff08;Traveling Salesman Proble…

2023最新的软件测试热点面试题(答案+解析)

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…