目次
Guava の概要
Strings
コレクション操作 (コレクション)
Preconditions は、Guava によって提供される一連の前提条件チェック ツールであり、これをチェックするためにいくつかのメソッドが提供されています。パラメータが期待どおりかどうか。 Preconditions の主なメソッドは次のとおりです。
Cache はキャッシュ ツールですGuava クラスによって提供されており、データをメモリにキャッシュし、プログラムのパフォーマンスを向上させるのに役立ちます。 Cache の主なメソッドは次のとおりです:
ホームページ Java &#&チュートリアル Java Guavaを使用する際のヒントは何ですか?

Java Guavaを使用する際のヒントは何ですか?

Apr 14, 2023 pm 10:37 PM
java guava

Guava の概要

Guava は Google がリリースしたオープン ソース ライブラリで、主に文字列処理、集合演算、関数型プログラミング、キャッシュなど、Java 開発で非常に役立つツール クラスと API を提供します。待って。

Strings

Strings は、Guava が提供する文字列ツールのセットで、文字列を処理するための便利なメソッドを多数提供します。 String の主なメソッドは次のとおりです。

  • isNullOrEmpty(String string): 文字列が空か null かを判断します。

  • padEnd(String string, int minLength, char PadChar): 文字列が指定された長さに達するまで、指定された文字を文字列の末尾に埋め込みます。

  • padStart(String string, int minLength, char PadChar): 文字列が指定された長さに達するまで、文字列の先頭に指定された文字を埋め込みます。

  • repeat(String string, int count): 指定された文字列を指定された回数繰り返します。

  • commonPrefix(CharSequence a, CharSequence b): 2 つの文字列の最も長い共通プレフィックスを取得します。

  • commonSuffix(CharSequence a, CharSequence b): 2 つの文字列の最長の共通サフィックスを取得します。

次に、文字列の使用例を示します。

public class StringsDemo {
    public static void main(String[] args) {
        // 判断字符串是否为空或null
        String str1 = null;
        String str2 = "";
        System.out.println(Strings.isNullOrEmpty(str1));
        System.out.println(Strings.isNullOrEmpty(str2));

        // 在字符串末尾填充指定字符,直到字符串达到指定长度
        String str3 = "abc";
        String paddedStr1 = Strings.padEnd(str3, 6, '*');
        System.out.println(paddedStr1);

        // 在字符串开头填充指定字符,直到字符串达到指定长度
        String str4 = "abc";
        String paddedStr2 = Strings.padStart(str4, 6, '*');
        System.out.println(paddedStr2);

        // 重复指定字符串指定次数
        String str5 = "abc";
        String repeatedStr = Strings.repeat(str5, 3);
        System.out.println(repeatedStr);

        // 获取两个字符串的最长公共前缀
        String str6 = "abcdefg";
        String str7 = "abcdxyz";
        String commonPrefix = Strings.commonPrefix(str6, str7);
        System.out.println(commonPrefix);

        // 获取两个字符串的最长公共后缀
        String str8 = "abcdefg";
        String str9 = "xyzdefg";
    String commonSuffix = Strings.commonSuffix(str8, str9);
    System.out.println(commonSuffix);
}
ログイン後にコピー

コレクション操作 (コレクション)

Guava は、次のような非常に便利なコレクション操作 API を提供します。 :

1.ImmutableList

不変コレクションは Guava の重要な機能であり、コレクションが変更されないことを保証できるため、同時アクセスの問題を回避できます。 ImmutabelList は不変 List の実装です。サンプル コードは次のとおりです:

List<String> list = Lists.newArrayList("a", "b", "c");
ImmutableList<String> immutableList = ImmutableList.copyOf(list);
ログイン後にコピー

2.Iterables

Iterables クラスには、以下に示すように、コレクションを操作するための便利なメソッドがいくつか用意されています。 ##3.Multimaps

Multimaps は、1 つのキーを複数の値に対応させることができる非常に便利なデータ構造を提供します。サンプル コードは次のとおりです:

Iterable<String> iterable = Lists.newArrayList("a", "b", "c");

// 判断集合是否为空
boolean isEmpty = Iterables.isEmpty(iterable);

// 获取第一个元素,如果集合为空返回null
String first = Iterables.getFirst(iterable, null);

// 获取最后一个元素,如果集合为空返回null
String last = Iterables.getLast(iterable, null);

// 获取所有符合条件的元素
Iterable<String> filtered = Iterables.filter(iterable, new Predicate<String>() {
    @Override
    public boolean apply(String input) {
        return input.startsWith("a");
    }
});

// 转换集合类型
List<String> newList = Lists.newArrayList(Iterables.transform(iterable, new Function<String, String>() {
    @Override
    public String apply(String input) {
        return input + input;
    }
}));
ログイン後にコピー

4.Maps

Maps は、以下に示すように、Map を操作するための便利なメソッドをいくつか提供します。

ListMultimap<Integer, String> map = ArrayListMultimap.create();
map.put(1, "a");
map.put(1, "b");
map.put(2, "c");
List<String> values = map.get(1); // 返回[a, b]
ログイン後にコピー

条件チェック (Preconditions)

Preconditions は、Guava によって提供される一連の前提条件チェック ツールであり、これをチェックするためにいくつかのメソッドが提供されています。パラメータが期待どおりかどうか。 Preconditions の主なメソッドは次のとおりです。

  • checkArgument(booleanexpression, String errorMessageTemplate, Object... errorMessageArgs)

    : パラメーターが期待を満たしているかどうかを確認し、スローします。 IllegalArgumentException 例外には、エラー メッセージ テンプレートとプレースホルダーが含まれる場合があります。

  • checkNotNull(Treference, String errorMessageTemplate, Object... errorMessageArgs)

    : パラメーターが null かどうかを確認し、NullPointerException 例外をスローします。これにはエラーが含まれる可能性があります。メッセージ テンプレートとプレースホルダー。

  • checkState(booleanexpression, String errorMessageTemplate, Object... errorMessageArgs)

    : オブジェクトの状態が期待どおりかどうかを確認し、エラーが含まれる可能性がある IllegalStateException 例外をスローします。情報 テンプレートとプレースホルダー。

  • checkElementIndex(int インデックス, int size, String errorMessageTemplate, Object... errorMessageArgs)

    : 添字がコレクションの範囲内にあるかどうかを確認し、 throw IndexOutOfBoundsException 例外には、エラー メッセージ テンプレートとプレースホルダーが含まれる場合があります。

  • checkPositionIndex(intindex, int size, String errorMessageTemplate, Object... errorMessageArgs)

    : 添字がセットの範囲内にあるかどうかを確認し、設定されたサイズと等しい場合は、IndexOutOfBoundsException 例外をスローします。この例外には、エラー メッセージ テンプレートとプレースホルダーが含まれる場合があります。

  • checkPositionIndexes(int start, int end, int size)

    : 開始添字と終了添字がコレクションの範囲内にあるかどうかを確認し、IndexOutOfBoundsException をスローします。例外 。

  • Preconditions の使用例は次のとおりです。
Map<Integer, String> map = ImmutableMap.of(1, "a", 2, "b", 3, "c");

// 判断Map是否为空
boolean isEmpty = Maps.isEmpty(map);

// 获取Map中的所有键
Set<Integer> keys = map.keySet();

// 获取Map中的所有值
Collection<String> values = map.values();

// 获取Map中的所有键值对
Set<Map.Entry<Integer, String>> entries = map.entrySet();

// 根据键获取值,如果不存在则返回null
String value = Maps.getIfPresent(map, 1);
ログイン後にコピー

有効期限を設定できるローカル キャッシュ (CacheBuilder)

Cache はキャッシュ ツールですGuava クラスによって提供されており、データをメモリにキャッシュし、プログラムのパフォーマンスを向上させるのに役立ちます。 Cache の主なメソッドは次のとおりです:

    get(K key, Callable<? extends V> valueLoader): 指定されたキーのキャッシュ値を取得します。キャッシュに保存するには、valueLoader を呼び出してデータをロードし、キャッシュに保存します。
  • getIfPresent(Object key): 指定されたキーのキャッシュ値を取得します。キャッシュにない場合は null を返します。
  • getAllPresent(Iterable<?> Keys): 指定されたキーのキャッシュ値を取得します。キャッシュ値がない場合は、null を返します。
  • put(K key, V value): 指定されたキーのキャッシュ値をキャッシュに保存します。
  • putAll(Map<? extends K, ? extends V> m): 指定された Map のキャッシュ値をキャッシュに保存します。
  • invalidate(Object key): 指定されたキーのキャッシュ値をキャッシュから削除します。
  • invalidateAll(Iterable<?> Keys): 指定されたキーのキャッシュ値をキャッシュから削除します。
  • invalidateAll(): キャッシュされたすべての値をキャッシュから削除します。
  • size(): キャッシュにキャッシュされた値の数を取得します。
  • asMap(): キャッシュを Map に変換します。
  • うわー

以上がJava Guavaを使用する際のヒントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの平方根 Javaの平方根 Aug 30, 2024 pm 04:26 PM

Javaの平方根

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Javaの完全数

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーター

Javaのアームストロング数 Javaのアームストロング数 Aug 30, 2024 pm 04:26 PM

Javaのアームストロング数

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

ジャワのウェカ

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

Java Springのインタビューの質問

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8 Stream Foreachから休憩または戻ってきますか?

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Javaのスミス番号

See all articles