当前位置: 首页 > news >正文

官方网站建设手机银行网页代码怎么写

官方网站建设手机银行,网页代码怎么写,在线制作logo免费生成图片,网站建设微信官网开发因此#xff0c;我想看看番石榴提供的一些集合创建模式#xff0c;以及它提供的某些不可变集合类型。 如果您没有看过我以前的文章#xff0c;则可能要从这里开始#xff1a; 番石榴第1部分– MultiMaps 番石榴第2部分– BiMaps 番石榴第3部分–多组 Guava的所有集合实… 因此我想看看番石榴提供的一些集合创建模式以及它提供的某些不可变集合类型。 如果您没有看过我以前的文章则可能要从这里开始 番石榴第1部分– MultiMaps 番石榴第2部分– BiMaps 番石榴第3部分–多组 Guava的所有集合实现都包含一个或多个静态create方法这些方法可以实现您所期望的并且通常提供一种更为简洁的实例化集合类的方法。 这是创建ArrayListMultimap的两种不同方法 MultimapString,String multimap1 new ArrayListMultimapString,String();MultimapString,String multimap2 ArrayListMultimap.create(); 好的因此其中没有太多内容在此示例中为12个字符但是从我的角度来看您正在删除一些冗余我们真的需要两次重现泛型类型信息吗 很好很遗憾Sun没想到在创建Java 5时向其Collection类型添加create方法 同样番石榴在这里为您提供帮助并提供了一些用于处理标准集合类型的实用程序类。 com.google.common.collect.Lists com.google.common.collect.Sets和com.google.common.collect.Maps 这些都提供了几种格式为new CollectionType () 下面是一些示例 ListString myList1 new ArrayListString(); //old wayListString myList2 Lists.newArrayList(); //guava waySetString mySet1 new HashSetString(); //old waySetString mySet2 Sets.newHashSet(); //guava way 由于“ new”方法是静态的因此您可以通过使用静态导入来剪切出更多字符即… import static com.google.common.collect.Lists.newArrayList;import static com.google.common.collect.Sets.newHashSet;//elsewhere in codeListString myList2 newArrayList();SetString mySet2 newHashSet(); 明智的按键方式是使用番石榴方法并不能真正节省很多所以我想这和其他任何东西都一样。 我个人认为番石榴的方法读起来要好得多尽管我认为我不会使用静态导入。 到目前为止还不错但是几乎没有崩溃的余地下一步呢 不变的收藏 这些本质上是集合对象创建后就无法更改并且出于各种原因很有用。 Guava为大多数常规Collection接口提供了Immutable实现 ImmutableList ImmutableSet和ImmutableMap 以及某些Guava集合接口 ImmutableMultimap等的不可变实现。 我对它们的主要用途是创建静态常量。 例如假设您出于某种目的需要对一组字符串进行硬编码。 一种做到这一点的方法可能是例如。 private static final SetString farmAnimals new HashSetString(Arrays.asList(Cow,Pig,Sheep)); 它看起来并不好看并且存在一个主要问题。 任何可以访问此Set的代码都可以对其进行更改这可能导致各种意外问题。 我们不能只使用Collection.unmodifiableSet(Set s)来解决这个问题吗 好吧在这个特定的例子中我想我们可以写…… private static final SetString farmAnimals Collections.unmodifiableSet(new HashSetString(Arrays.asList(Cow,Pig,Sheep))); …但是这开始显得有些笨拙而且无法unmodifiable方法还有另一个问题。 它们仅返回集合的不可修改视图如果您引用原始集合则仍然可以对其进行更改 尽管在上一个示例中这可能不是问题但我仍然认为更好的方法是使用ImmutableSet private static final SetString farmAnimals ImmutableSet.of(Cow,Pig,Sheep); 是不是更好呢 还有其他几种创建它们的方法下面是一些示例 // use copyOf()...public void doStuffWithList(ListObject unsafeList) {ListObject safeList ImmutableList.copyOf(unsafeList);}// use a builder...public MapString,Integer makeImmutableMap() {ImmutableMap.BuilderString,Integer mapBuilder new ImmutableMap.BuilderString,Integer();EntryString,Integer entry null;while((entry getEntry()) ! null) {mapBuilder.put(entry.getKey(), entry.getValue());}return builder.build();}那么使用不可变集合还有其他优势吗 好吧有几个。 它们可以大大简化逻辑尤其是在多线程环境中。 如果线程仅具有对对象的读取访问权限则您无需担心复杂的线程同步逻辑 创建它们后它们的使用效率也略有提高。 如果一个集合事先知道它需要存储什么并且永远不会有任何变化则可以节省各种时间和空间。 例如大多数ArrayLists或HashMaps的实现都会为新对象保留一些未使用的空间因此它们不必不断调整自身大小。 如果您知道永远不会有任何新对象则无需这样做。 最后您还可以将它们用作哈希键。 如果集合的内容无法更改那么它的哈希码也不会改变 有什么缺点吗 当然不可变对象有一个很大的缺点那就是显而易见的。 您不能更改它们 如果您需要更改集合则首先需要对其进行复制。 在某些情况下例如并发性很重要您实际上可能希望采用这种方法。 但是在集合包含许多对象的情况下这将是不切实际的并且您可能需要一个老式的可变集合如果需要请完成同步代码。 唯一需要注意的另一件事是仅仅因为您的集合是不可变的并不意味着它们中包含的对象是自动的。 如果可以在不可变集合中获得对对象的引用那么没有什么可以阻止您更改该对象上的任何可变状态 因此最佳实践是确保您保存在不可变集合中的任何东西本身都是不可变的 参考 Toms Programming Blog博客上的JCG合作伙伴 Tom Jefferys从Google Guava创建的收藏和不变性 。 翻译自: https://www.javacodegeeks.com/2012/12/collection-creation-and-immutability-with-google-guava.html
http://www.pierceye.com/news/459067/

相关文章:

  • 网络营销网站规划建设实训作业免费云空间
  • 杭州建设网站官网想学做宝宝食谱上什么网站
  • 用自己服务器做网站乡镇信息公开网站建设制度
  • 网站建设平台简介电子商务网站模版
  • 广州做网站怎么样安监网站如何做紧急预案备案
  • 自己做的网站怎样才有网址浏览oa软件多少钱一套
  • 旅游电子商务网站的建设深圳华强北赛格大厦最新消息
  • 视觉设计网站建设有没有做.net面试题的网站
  • 上海资格证报名网站惠州抖音seo
  • 网页设计作品html辽宁做网站和优化哪家好
  • 做门户网站 cms山东济南网站建设优化
  • 网站美工怎么做wordpress论坛化插件
  • 怎样建设自己的视频网站首页电子商务网站开发教程论文6
  • 推荐一个做照片书的网站湛江网站建设招聘
  • 厦门建网站网址ai自动设计logo
  • 蓝色织梦cms企业网站模板全站源码招聘类网站如何做
  • 郑州建设银行网站wordpress数据库怎么设置
  • 电子商务网站实例php网站建设哪家好
  • 网站开发课程报告心得简单的网页设计作品欣赏
  • 网站建设用什么系统华为弹性云做网站
  • 莱芜高端网站建设报价网站色彩策划
  • 房地产项目网站做网站互联网公司有哪些
  • 凡科做网站友情链接怎么做wordpress广告位设置
  • org已经备案的网站wap网站建设服务
  • 企业网站模板免费下载企业网站模板免费完整版的网站模板
  • 外贸网站建设公司价格怎样做触屏版手机网站
  • 南宁站建好就够用秦皇岛微信推广平台
  • 物流公司做网站有用吗河北省住房和城乡建设网站
  • 网站举报官网seo站长论坛
  • 建站工具有哪些论坛网站建设总体要求