菏泽网站建设优惠臻动传媒商丘加盟小吃网站

diannao/2026/1/16 16:01:06/文章来源:
菏泽网站建设优惠臻动传媒,商丘加盟小吃网站,电商平面ui设计是什么,中企动力网站优化谷歌guava番石榴 这是我尝试解释和探索Google很棒的Guava java库的系列文章中的第一篇。 我在搜索Apache Commons Collections的通用版本时遇到了番石榴#xff08;Guava#xff09;–我需要一个Bimap并且厌倦了必须使用强制类型转换来填充我的代码–但是我发现要好得多。 … 谷歌guava 番石榴 这是我尝试解释和探索Google很棒的Guava java库的系列文章中的第一篇。 我在搜索Apache Commons Collections的通用版本时遇到了番石榴Guava–我需要一个Bimap并且厌倦了必须使用强制类型转换来填充我的代码–但是我发现要好得多。 它不仅含有更复杂但有用集合类型-的各种实现屈德宁 多集 Bimaps -我将详细讨论但也设施以支持具有不可变的集合编程的功能更强大的样式 功能和谓语对象。 这完全改变了我编写Java的方式同时使我对Java有时笨拙的语法越来越沮丧这是我打算在以后的文章中探讨的。 无论如何只要有了介绍再加上好东西。 我要看的第一件事是Multimap它可能是我最常使用的单个Guava功能。 多图 那么您多久需要一次如下所示的数据结构 MapString,ListMyClass myClassListMap test2 new HashMapString,ListMyClass() 如果你像我一样经常。 而且您是否发现自己一次又一次地编写相同的样板代码 要将键/值对放入此映射您需要首先检查您的键是否已经存在列表以及是否没有创建该列表。 您最终将按照以下内容写一些东西 void putMyObject(String key, Object value) {ListObject myClassList myClassListMap.get(key);if(myClassList null) {myClassList new ArrayListobject();myClassListMap.put(key,myClassList);}myClassList.add(value); } 有点麻烦如果您需要用于检查值的方法该方法存在删除值或什至遍历整个数据结构该怎么办。 那可能是很多代码。 永远不要担心番石榴在这里 就像标准的Java集合一样Guava定义了几个接口和匹配的实现。 通常您要对接口进行编码而仅在创建接口时才担心实现。 在这种情况下我们对Multimaps感兴趣。 因此使用多图我们可以将数据结构声明替换为以下内容 MultimapString,Object myMultimap ArrayListMultimap.create(); 这里有几件事要注意。 泛型类型声明应该看起来非常熟悉这正是您声明普通Map的方式。 您可能已经期望在等号的右侧看到new ArrayListMultimapString,Object() 。 好吧所有Guava集合实现都提供一个create方法该方法通常更简洁并且具有不必重复泛型类型信息的优点。 实际上番石榴为标准Java集合添加了类似的功能。 例如如果检查com.google.common.collect.Lists 则会看到静态的newArrayList()和newLinkedList()方法因此即使使用标准Java集合也可以利用这种简洁性。 我将在以后的文章中详细介绍。 因此我们已经声明并实例化了一个multimap如何使用它们呢 就像法线贴图一样简单 public class MutliMapTest {public static void main(String... args) {MultimapString, String myMultimap ArrayListMultimap.create();// Adding some key/valuemyMultimap.put(Fruits, Bannana);myMultimap.put(Fruits, Apple);myMultimap.put(Fruits, Pear);myMultimap.put(Vegetables, Carrot);// Getting the sizeint size myMultimap.size();System.out.println(size); // 4// Getting valuesCollectionstring fruits myMultimap.get(Fruits);System.out.println(fruits); // [Bannana, Apple, Pear]Collectionstring vegetables myMultimap.get(Vegetables);System.out.println(vegetables); // [Carrot]// Iterating over entire Mutlimapfor(String value : myMultimap.values()) {System.out.println(value);}// Removing a single valuemyMultimap.remove(Fruits,Pear);System.out.println(myMultimap.get(Fruits)); // [Bannana, Pear]// Remove all values for a keymyMultimap.removeAll(Fruits);System.out.println(myMultimap.get(Fruits)); // [] (Empty Collection!)} } 您可能想知道的一件事是为什么get方法返回的是Collection而不是List 这会有用得多。 确实会。 问题是有几种不同的实现方式一些使用Lists- ArrayListMultimap LinkedListMultimap等-某些使用Sets- HashMultimap TreeMultimap等。 要处理此问题如果您需要直接使用列表中的列表或集合需要定义几个子接口。 ListMultimap SetMultimap和SortedSetMultimap 。 这些都可以完成您期望的操作并且它们的返回集合的方法将返回approprite类型之一。 即 ListMutlimapString,String myMutlimap ArrayListMultimap.create();Liststring myValues myMutlimap.get(myKey); // Returns a List, not a Collection. 这基本上就是他们的全部。 我建议您查看以下API http : //docs.guava-libraries.googlecode.com/git-history/release09/javadoc/com/google/common/collect/Multimap.html 在这里您可以找到各种实现应该能够找到适合您需求的产品。 参考 Multimaps – Toms Programming Blog博客上JCG合作伙伴 Tom Jefferys的Google Guava 。 翻译自: https://www.javacodegeeks.com/2012/12/google-guava-multimaps.html谷歌guava

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

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

相关文章

南昌网站开发商哪家强网站备案需要费用吗

msvcp140.dll 文件是 Microsoft Visual C 运行时库的一部分,具体来说它是 Visual Studio 2015 版本编译的C应用程序所依赖的一个动态链接库(DLL)文件。这个 DLL 文件包含了大量由Microsoft开发的标准C库函数,这些函数对于许多在Wi…

随州网站设计开发方案在线装修网

并行数据库流 在我以前的文章中 ,我写了关于使用并行流和Speedment并行处理数据库内容的信息。 在许多情况下,并行流可能比通常的顺序数据库流快得多。 线程池 Speedment是一个开源的Stream ORM Java工具包和Runtime Java工具,它将现有的数…

网站建设工单系统护语贵州专业网站建设

目录 Tomcat概念 核心组件 Web容器 Web服务器之间解析请求的区别 Apache HTTP Server Nginx Tomcat Servlet容器 JSP容器 字节码文件 Tomcat表面处理请求的过程 Tomcat底层处理请求的过程 内部结构 Tomcat部署 JRE环境配置 PATH冒号位置的区别 安装Tomcat 目…

怎样进入外贸公司网站曲靖企业网站

不知道你有没有看过凯瑟琳泽塔琼斯主演的《偷天陷阱》,里面主题思想是用银行结算系统的千年虫bug,精心设计,盗取银行几十亿的精彩动作片。所谓2000 年千禧年的千年虫,其实就是计算机计算闰年的bug。 这个闰年计算的历史源远流长&…

怎么用flash做视频网站如何注册公司企业邮箱

Fedora 36今天发布,这是最近一段时间以来又一个强大、前沿而又稳定可靠的Linux发行版本,除了这些特点外,Fedora 36还在原先的基础上增加了新的功能和细节打磨。 Fedora 36使用GNOME 42作为其默认的Fedora工作站桌面环境。 OpenSSL 3.0&#x…

免费微信网站制作便民的网站app怎么做

这也许是你一直期待的文章,在关注这部分技术问题的同时,请务必阅读有关面试中有关个人的问题和解答。和猎萝卜小编来一起了解。这里的回答并不是十分全面,这些问题可以通过多个角度来进行解释,也许你不必在面试过程中给出完全详尽…

美团网网站建设分析陕西省建设监理协会官网站

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 带有动画效果的折叠面板(Accordion)⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个…

网站建设考虑事项做信公众号首图的网站

通过IP地址定位,可以获取一些基本的信息,包括以下内容: 1. 地理位置:你可以确定IP地址所在的地理位置,包括国家、州或省、城市和地理坐标。这通常是通过将IP地址与地理位置数据库进行匹配来实现的。 2. ISP&#xff…

云建设网站怎样建立俄罗斯网站

Hello,今天我们分享一些关于C入门的知识,看完至少让你为后面的类和对象有一定的基础,所以在讲类和对象的时候,我们需要来了解一些关于C入门的知识。 什么是C C语言是结构化和模块化的语言,适合处理较小规模的程序。对…

洛阳php网站开发什么是域名系统 网站建设教程

2014-02-0610325 0C# 檢舉文章 過年結束了,雖然還是學生所以其實還有兩個禮拜的假期,不過為了不讓自己發慌,趁著假期多利用充實自己,所以提早回到開工狀態,而這次總算要把一直說的自己動手繪製猜色直方圖文章寫出。 …

药学专业网站wordpress全是博客

迁移的初衷本人平时是做.net相关的工作,对于.net技术栈也有一些了解,自从新的.net能够跨平台之后,之前也有跨平台的ui框架Xamarin,现在微软推出了.NET MAUI这个说是 统一了开发体验,而且都RC版本了,所以本人…

网站改版设计思路网站建设安全性

转载于:https://www.cnblogs.com/dabaopku/archive/2012/05/08/2490164.html

怎么创建一个公司网站wordpress session 表

1 简介 开发者通过调用Camera Kit(相机服务)提供的接口可以开发相机应用,应用通过访问和操作相机硬件,实现基础操作,如预览、拍照和录像;还可以通过接口组合完成更多操作,如控制闪光灯和曝光时间、对焦或调焦等。 2 …

湖南平台网站建设公司酒店预订网站模板

同时两个朋友发来的,打开了还挺有意思。在新年到来的最后一天,收到这个小小的礼物还是很高兴,说明人家还记得你,常说君子之交淡如水,水其实我们不缺,我们往往缺的就是一句小小的问候,并且在一个…

做网站代理商好赚吗?网站建设与管理 期末

XML Schema中的elementFormDefault,用以指明xml的元素是否必须有命名空间的前缀。 它的取值可以为qualified、或者unqualified。默认值为unqualified。 当取值为qualified时,xml元素前必须有命名空间作为前缀; 当取值为unqualified时&#x…

河北建设厅录入业绩的网站wordpress移动端页面

无需转发 免费获取2023国赛模板,获取方式见文末 模板文件预览如下: 模板参考格式如下: (题目)XXXXXX 摘 要: 开头段:需要充分概括论文内容,一般两到三句话即可,长度控…

太仓做网站的公司息县网站建设

kotlin提供了过滤集合很方便过滤集合中特定的元素 1 如果是同一种类型的操作,建议使用filter 或者是partition 例如过滤出字符长度大于3的元素 使用partition val numbers listOf("one", "two", "three", "four")val …

毕业设计做系统网站好简单软件开发工具

注册表类: 普通注册表后门 在一般用户权限下,通常是将要执行的后门程序或脚本路径填写到如下注册表的键值中HKCU\Software\Microsoft\Windows\CurrentVersion\Run,键名任意。普通权限即可运行 cmd下操作: reg add "HKEY_…

wordpress 资源站主题群晖wordpress

Ubuntu22部署MySQL5.7详细教程 一、下载MySQL安装包二、安装MySQL三、启动MySQL检查状态登录MySQL 四、开启远程访问功能1、允许其他主机通过root访问数据库2、修改配置文件,允许其他IP通过自定义端口访问 五、使用Navicat连接数据库 默认情况下,Ubuntu2…