全力サイバーパンクシティ

更新頻度の悪いブログ

Guavaを使ってみた

こんにちは。底辺SEです。
今日は仕事でGuavaっていうGoogleが出しているライブラリを使ったので割と便利だと思い記事にしました。

Iterables

package com.example.test;

import java.util.Arrays;
import java.util.List;
import org.junit.Test;
import com.google.common.collect.Iterables;

public class GuavaTest {

	@Test	
	public void testIterables() {
		List<String> stringList = Arrays.asList("hoge", "fuga", "piyo");

		int idx1 = Iterables.indexOf(stringList, string -> string.equals("hoge"));
		int idx2 = Iterables.indexOf(stringList, string -> string.equals("piyo"));
		int idx3 = Iterables.indexOf(stringList, string -> string.equals("piee"));
                
                // 条件に一致するインデックスを返す、一致しない場合-1を返却する
		System.out.println("idx1: " + idx1);
		System.out.println("idx2: " + idx2);
		System.out.println("idx3: " + idx3);
	}	
}

実行結果:
idx1: 0
idx2: 2
idx3: -1


CaseFormat

        // 上と同じクラス内のメソッド
	@Test
	public void testCaseFormat() {
		
		String key = "hogeFugaPiyo";

                // 例としてキャメルケースをスネークケースに変換してくれる
		String afterKey = CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, key);
		System.out.println("afterKey: " + afterKey);
		
	}

実行結果:
afterKey: hoge_fuga_piyo