拡張for文とGuavaのCollection
拡張for文
拡張for文はIteratableなものに使える便利なfor文. Moddingでよく使うList, Set, Map全て拡張for文で書ける.
ListやSetはこのように
for (T var : list) { // varで各要素を参照できる }
Mapはちょっと違うので注意
for (Map.Entry<K, V> entry : map.entrySet()) { // entry.getKey()でマップのキー // entry.getValue()でマップの値 }
Guava
GuavaのCollectionパッケージでよく使うもの
- Lists
- Sets
- Maps
List<T> list = Lists.newArrayList(); Set<T> set = Sets.newHashSet(); Map<K, V> map = Maps.newHashMap();
ジェネリクスを省略できる.
あまり使わないけど, 「あ, これ使ったら楽だな」というもの
- BiMap
- 双方向のmap, 通常はkey→valueだが, inverse()するとvalue→keyが可能. ちなみにkeyだけでなくvalueも重複不可.
- Multiset
- 要素の重複が可能なSet. 重複した要素はcount(要素)で重複数を得られる.
- Multimap
- キーの重複が可能なMap. get(key)でListが返ってくる.