Guava
Guavaの21.0がいつの間にかリリースされてました。 Release21 · google/guava Wiki · GitHub 今回からJava8必須になったようです。 色々変更があったようなので簡単に(ごく一部を)試してみます。 準備 pom.xmlに以下を追記します <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version></version></dependency>…
Guavaのcom.google.common.primitives.Longsの利用サンプルです。 Longsクラスはlong型の値に対するユーティリティメソッドなどを提供しています。 サンプルコードで試したのは以下の通りです。 long配列 ⇒ List<Long> の変換 ■API Longs#asList ■サンプル long[] </long>…
Guavaのcom.google.common.math.IntMath, com.google.common.math.LongMathの利用サンプルです。 数値計算に関する機能を提供するクラスです。 例えば、以下のAPIなどを利用することでオーバーフローをチェックしながら足し算や掛け算などの算術を行うことが…
Guavaのcom.google.common.primitives.Primitivesの利用サンプルです。 Primitivesクラスはプリミティブ型とプリミティブラッパークラスのClassの変換(ラップ・アンラップ)メソッドなどを提供しています。 サンプルコードで試したのは以下の通りです。 全…
Guavaのcom.google.common.primitives.Doublesの利用サンプルです。 Doublesクラスはdouble型の値に対するユーティリティメソッドなどを提供しています。 サンプルコードで試したのは以下の通りです。 double配列 ⇒ List<Double> の変換 ■API Doubles#asList ■サンプ</double>…
Guavaのcom.google.common.primitives.Booleansの利用サンプルです。 Booleansクラスはboolean型の値に対するユーティリティメソッドなどを提供しています。 サンプルコードで試したのは以下の通りです。 boolean配列 ⇒ List<Boolean> の変換 ■API Booleans#asList ■</boolean>…
Guavaのcom.google.common.base.Preconditionsの利用サンプルです。 メソッドの引数をチェックしてNullPointerExceptionをスローさせたり、IllegalArgumentExceptionをスローさせたりすることがあると思いますが、そのような事前条件のチェックを補助してく…
Guavaのcom.google.common.collect.BiMapの利用サンプルです。 BiMapはいわゆる双方向Mapってやつです。 通常のMapはkeyからvalueを取得するという流れになりますが、BiMapではそれに加えて、valueからkeyを取得するということも可能です。 上記の件を実現す…
Guavaのcom.google.common.collect.ImmutableSetの利用サンプルです。 ImmutableSetは不変(Immutable)なSetです。 ImmutableSetへのadd等の変更操作を行うとUnsupportedOperationExceptionがスローされます。 以下のAPIなどを利用してImmutableSetを生成し…
Guavaのcom.google.common.collect.Multimapの利用サンプルです。 Multimapは、特定のkeyに対して値を複数持つことができるデータ構造です。 業務処理などでは、このようなデータ構造が必要となるケースが少なくないと思います。非常に強力なデータ構造です…
Guavaのcom.google.common.base.Optionalの利用サンプルです。 Optionalを使って値をラップすることで、nullを利用せずに値が存在しないことを表現することができます。 以下のようなAPIを提供します Optional#of - 指定された参照を保持するインスタンスを…
Guavaのcom.google.common.collect.Multisetの利用サンプルです。 Multisetは、java.util.Setとは異なり要素の重複を許可し、 各要素が何個登録されているかを取得するためのcountメソッドなどを提供します。 以下のようなAPIを提供します Multiset#count - …
Guavaのcom.google.common.base.Stopwatchの利用サンプルです。 このクラスは名前の通りストップウォッチのように処理時間の計測などに用います。 ■Stopwatchを使わない計測 Stopwatchを利用しない場合、以下のようなコードで処理時間を計測することが多いか…
Guavaのcom.google.common.base.Splitterの利用サンプルです。 指定の文字列を分割する際に利用するクラスです。 String#splitがString[]を返却するのに対してSplitter#splitはIterable<String>を返却します。 以下のAPIなどを利用して分割処理を行います Splitter#s</string>…
Guavaのcom.google.common.primitives.Intsの利用サンプルです。 Intsクラスはint型の値に対するユーティリティメソッドなどを提供しています。 サンプルコードで試したのは以下の通りです。 int配列 ⇒ List<Integer> の変換 ■API Ints#asList ■サンプル System.out.p</integer>…
Guavaのcom.google.common.collect.Listsの利用サンプルです。 ListsクラスはListの生成含めたユーティリティメソッドを提供してくれます。 サンプルコードで試したのは以下の通りです。 ArrayListを生成(ファクトリメソッド) ■API Lists#newArrayList ■サ…
Guavaのcom.google.common.base.Joinerの利用サンプルです。 Joinerは区切り文字で文字列連結する機能を提供してくれます。 基本的に以下のAPIなどを利用して連結処理を行います Joiner#on - 区切り文字の指定 Joiner#skipNulls - 連結対象のオブジェクトの…
Guavaのcom.google.common.base.Stringsの利用サンプルです。 Stringsクラスは文字列に関するユーティリティメソッドを提供してくれます。 サンプルコードで試したのは以下の通りです。 指定回数繰り返した文字列を取得 ■API Strings#repeat ■サンプル Syste…