您当前的位置:首页 >> 传感器
传感器

别再造链条了,Google 开源的 Guava 工具库真心强大

发布时间:2025-08-11

键的传统步骤是维护两个法理的射影,并使它们依然连动,但这很容易产生错误,并且当射影当中现在存在一个参数

Map nameToId = Maps.newHashMap();Map idToName = Maps.newHashMap(); nameToId.put("Bob", 42);idToName.put(42, "Bob");

2、BiMap 缺少了多种借助:

键参数射影借助参数键射影借助对应BiMapHashMapHashMapHashBiMapImmutableMapImmutableMapImmutableBiMapEnumMapEnumMapEnumBiMapEnumMapHashMapEnumHashBiMap

该软件预览开发人员:

Table 此表结构数据集

1、当借此一次在多个键上建立索引时,您将得到类似 Map> 的代码,这很难看,而且用作大大的很不安。Guava 缺少了一个原先可数特性 Table,它支持者任何“row”特性和“column”特性的这个用例。

2、Table 缺少了多种借助:

HashBasedTable:实际上是由 HashMap> 支持者的。TreeBasedTable:实际上是由 TreeMap> 支柱的。ImmutableTableArrayTable:要求在构造时均须行和列的完整范围,但在此表比较大时由二维数据结构支持者以提高速度和内存经济性,ArrayTable的文书工作原理与其他借助有些不同

该软件预览开发人员:

ClassToInstanceMap 特性射影到示例

1、有时 key 并不是举例来说的特性,而是多种特性,Guava 为此缺少了 ClassToInstanceMap,key 可以是多种特性,value 是此特性的示例。

2、ClassToInstanceMap 的借助有: MutableClassToInstanceMap 和 ImmutableClassToInstanceMap 的借助。

该软件预览开发人员:

JDK 可数能用类

1、任何有 JDK 可数构建经验的程序员都知道并更喜欢其当中缺少的自带 java.util.Collections,Guava 缺少了许多适用作可数的静态步骤自带。

应用程序不属于 JDK 还是 Guava对应 Guava APICollectionJDKCollections2ListJDKListsSetJDKSetsSortedSetJDKSetsMapJDKMapsSortedMapJDKMapsQueueJDKQueuesMultisetGuavaMultisetsMultimapGuavaMultimapsBiMapGuavaMapsTableGuavaTables

Lists 该软件预览:

Sets 该软件预览:

JDK 基本特性能用类

1、Guava 为 Java JDK 的基本特性缺少了自带类:

基本特性Guava 能用类byteBytes, SignedBytes, UnsignedBytesshortShortsintInts, UnsignedInteger, UnsignedIntslongLongs, UnsignedLong, UnsignedLongsfloatFloatsdoubleDoublescharCharsbooleanBooleans

nts 该软件预览开发人员:

doubles 该软件预览开发人员:

booleans 该软件预览开发人员:

其它特性所谓。另外,关注Java知音公众号,回复“后故又称面试”,送来你一份面试题宝典!

JDK URL能用类

1、Strings 类当中缺少了少数几个近似于的符串自带。

该软件预览开发人员:

2、Joiner 是连接器,用作连接 java.lang.Iterable、java.util.Iterator、java.lang.Object[] 当中的成份。

该软件预览开发人员:

3、Splitter 是分割器,用作分割小写字母序列 java.lang.CharSequence。

该软件预览开发人员:

4、CharMatcher 小写字母意味着器,用作意味着小写字母,可以将 CharMatcher 当成推选一类特定的小写字母,如数字或空白。注意:CharMatcher 只处理 char 参数。

该软件预览开发人员:

Stopwatch 秒此表

1、google 的秒此表 Stopwatch 远比 Spring framewrk core 包 和 apache commons lang3 包的秒此表是最方便用作的。

2、此类不是文件系统安全的。

/** * Stopwatch createStarted():创建(并开启)一个原先秒此表,用作 System#nanoTime 来作为其小时由此可知。 * Stopwatch createUnstarted():创建(但不开启)一个原先秒此表,用作 System#nanoTime 来作为其小时由此可知。 * long elapsed(TimeUnit desiredUnit):来到此秒此表上此表明的举例来说已用小时,以所需的小时单位此表示,任何得分向右普遍化 * boolean isRunning():如果已在此秒此表上文件系统start()},并且自上次文件系统start()以来尚未文件系统stop(),则来到true * Stopwatch reset():将此秒此表的运行小时设置为零,并将其置于当中止状态。 * Stopwatch start():开启秒此表,如果秒此表现在在运行,则 IllegalStateException * Stopwatch stop():当中止秒此表,将来的读取将来到到目前为止经过的分开持续小时。 * tring toString():来到举例来说运行小时的URL此表示形式,比如 2.588 s,106.8 ms */ @Test public void testStopwatch() throws InterruptedException { SecureRandom secureRandom = new SecureRandom(); Stopwatch stopwatch = Stopwatch.createStarted(); int nextInt = secureRandom.nextInt(2000); System.out.println("执行1预算用时:" + nextInt);//执行1预算用时:81 TimeUnit.MILLISECONDS.sleep(nextInt); System.out.println(" 执行1仅仅用时:" + stopwatch.elapsed(TimeUnit.MILLISECONDS) + "(毫秒)");// 执行1仅仅用时:563(毫秒) stopwatch.reset().start(); nextInt = secureRandom.nextInt(4000); System.out.println("执行2预算用时:" + nextInt);//执行2预算用时:1591 TimeUnit.MILLISECONDS.sleep(nextInt); System.out.println(" 执行2仅仅用时:" + stopwatch.toString());// 执行2仅仅用时:1.592 s stopwatch.reset().start(); nextInt = secureRandom.nextInt(3000); System.out.println("执行3预计用时:" + nextInt);//执行3预计用时:1964 TimeUnit.MILLISECONDS.sleep(nextInt); System.out.println(" 执行3仅仅用时:" + stopwatch.stop().toString());// 执行3仅仅用时:1.965 s }来由此可知:

贵港白癜风哪好
看白癜风医院那家最好
柳州治疗白癜风哪好

上一篇: 即将交付!这家医院能让药物配送“挥起来”

下一篇: 唐山一女子举报丈夫勾结国企高管骗国家资金 自己生了2个大儿子后被抛弃

友情链接