提供: Minecraft Modding Wiki
ModderKina (トーク | 投稿記録) 細 |
(リンクの更新、説明の追加、推敲) |
||
1行目: | 1行目: | ||
==Guava概要== | ==Guava概要== | ||
<p> | <p> | ||
− | + | GuavaはGoogleが提供しているJavaの追加ライブラリ群である。追加パッケージは以下のとおり。[http://google.github.io/guava/releases/snapshot-jre/api/docs/ Javadoc] | |
</p> | </p> | ||
{|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " | {|class="wikitable" style="border-width:1px 1px 1px 1px; border-color:black; border-style:solid; " | ||
|+ style="background:#ddd;text-align:left;padding:0 0 0 2px;"|パッケージ一覧 | |+ style="background:#ddd;text-align:left;padding:0 0 0 2px;"|パッケージ一覧 | ||
|com.google.common.annotations | |com.google.common.annotations | ||
− | | | + | |アノテーション群の追加。 |
|- | |- | ||
|com.google.common.base | |com.google.common.base | ||
− | | | + | |基礎となるユーティリティの追加。文字列操作やnullチェック機構など。 |
|- | |- | ||
|com.google.common.cache | |com.google.common.cache | ||
− | | | + | |キャッシュに関するユーティリティの追加。 |
|- | |- | ||
|com.google.common.collect | |com.google.common.collect | ||
− | | | + | |コレクション群の追加。 |
|- | |- | ||
|com.google.common.eventbus | |com.google.common.eventbus | ||
− | | | + | |イベントモデルの実装。[[Minecraft Forge Eventシステム概要|Minecraft ForgeのEventシステムはこれ]]。 |
|- | |- | ||
|com.google.common.hash | |com.google.common.hash | ||
− | | | + | |ハッシュに関するユーティリティの追加。 |
|- | |- | ||
|com.google.common.io | |com.google.common.io | ||
− | | | + | |入出力APIの追加。 |
|- | |- | ||
|com.google.common.math | |com.google.common.math | ||
− | | | + | |計算についてのユーティリティの追加。 |
|- | |- | ||
|com.google.common.net | |com.google.common.net | ||
− | | | + | |ネットワーク処理に関するユーティリティの追加。 |
|- | |- | ||
|com.google.common.primitives | |com.google.common.primitives | ||
− | | | + | |プリミティブ型に対するユーティリティの追加。 |
|- | |- | ||
|com.google.common.reflect | |com.google.common.reflect | ||
− | | | + | |リフレクションに関するユーティリティの追加。 |
|- | |- | ||
|com.google.common.util.concurrent | |com.google.common.util.concurrent | ||
− | | | + | |並行処理に関するユーティリティの追加。 |
|} | |} | ||
49行目: | 49行目: | ||
</source> | </source> | ||
<p> | <p> | ||
− | new ArrayList<String>... | + | new ArrayList<String>...という冗長な表記を無くすと同時に初期化も可能。 |
</p> | </p> | ||
58行目: | 58行目: | ||
</source> | </source> | ||
<p> | <p> | ||
− | + | Listsと同様。 | |
</p> | </p> | ||
66行目: | 66行目: | ||
</source> | </source> | ||
<p> | <p> | ||
− | + | 重複を許すSet。内部にカウンタを持っていて、重複要素が追加されるとカウンタが増加する。頻度を調べるときなどに使う. | |
</p> | </p> | ||
75行目: | 75行目: | ||
</source> | </source> | ||
<p> | <p> | ||
− | + | Listsと同様。 | |
</p> | </p> | ||
83行目: | 83行目: | ||
</source> | </source> | ||
<p> | <p> | ||
− | + | ありそうでなかった双方向map。bimap.get(key)でfirstがキーでsecondが値になり、bimap.inverse().get(key)でsecondがキーでfirstが値になる。 | |
</p> | </p> | ||
91行目: | 91行目: | ||
</source> | </source> | ||
<p> | <p> | ||
− | + | キーの重複が許されるMap。重複要素はgetしたときにListで一括して取得できる。 | |
</p> | </p> |
2018年1月7日 (日) 12:04時点における最新版
Guava概要[編集]
GuavaはGoogleが提供しているJavaの追加ライブラリ群である。追加パッケージは以下のとおり。Javadoc
com.google.common.annotations | アノテーション群の追加。 |
com.google.common.base | 基礎となるユーティリティの追加。文字列操作やnullチェック機構など。 |
com.google.common.cache | キャッシュに関するユーティリティの追加。 |
com.google.common.collect | コレクション群の追加。 |
com.google.common.eventbus | イベントモデルの実装。Minecraft ForgeのEventシステムはこれ。 |
com.google.common.hash | ハッシュに関するユーティリティの追加。 |
com.google.common.io | 入出力APIの追加。 |
com.google.common.math | 計算についてのユーティリティの追加。 |
com.google.common.net | ネットワーク処理に関するユーティリティの追加。 |
com.google.common.primitives | プリミティブ型に対するユーティリティの追加。 |
com.google.common.reflect | リフレクションに関するユーティリティの追加。 |
com.google.common.util.concurrent | 並行処理に関するユーティリティの追加。 |
追加コレクション[編集]
List[編集]
- Lists
List<String> list = Lists.newArrayList("one", "two", "three");
new ArrayList<String>...という冗長な表記を無くすと同時に初期化も可能。
Set[編集]
- Sets
Set<String> set = Sets.newHashSet("one", "two", "three");
Listsと同様。
- Multiset
Multiset<String> multiset = HashMultiset.create();
重複を許すSet。内部にカウンタを持っていて、重複要素が追加されるとカウンタが増加する。頻度を調べるときなどに使う.
Map[編集]
- Maps
Map<Key, Value> map = Maps.newHashMap(k, v, k, v, ...);
Listsと同様。
- BiMap
BiMap<first, second> bimap = HashBiMap.create();
ありそうでなかった双方向map。bimap.get(key)でfirstがキーでsecondが値になり、bimap.inverse().get(key)でsecondがキーでfirstが値になる。
- Multimap
Multimap<Key, Value> multimap = ArrayListMutlimap.create();
キーの重複が許されるMap。重複要素はgetしたときにListで一括して取得できる。