Listに格納された配列の存在判定サンプル
指定配列がListに含まれているか含まれていないかを判定するサンプルです。
Predicateの実装なのでコレクションならなんでも良いかも。
材料はこのあたり
org.apache.commons.collections
public class PredicateExample { /** * 実行 */ public void execute() throws Exception { final List<String[]> list = new ArrayList<String[]>(); list.add(new String[]{"A", "B", "C"}); list.add(new String[]{"A", "B", "D"}); list.add(new String[]{"A", "B", "E"}); System.out.println(CollectionUtils.exists(list, new ArrayEqualPredicate(new String[] { "A", "B", "E" }))); System.out.println(CollectionUtils.exists(list, new ArrayEqualPredicate(new String[] { "A", "B", "F" }))); } /** * * <HR> * <P> * ■モジュール名 <BR> * <BLOCKQUOTE> * ArrayEqualPredicate <BR> * </BLOCKQUOTE> * <P> * ■クラス仕様 <BR> * <BLOCKQUOTE> * ArrayEqualPredicateクラスはオブジェクト配列の比較クラスです。<BR> * </BLOCKQUOTE> * <P> * <HR> * <P> */ public static class ArrayEqualPredicate implements Predicate, Serializable{ /** * シリアルUID */ private static final long serialVersionUID = 1L; /** * オブジェクト配列 */ private Object[] objects; /** * * コンストラクタ * @param objects オブジェクト配列 */ public ArrayEqualPredicate(final Object[] objects) { this.objects = objects; } /** * * 比較メソッドの実装 * @param arg0 比較対照 * @return 比較結果 */ public boolean evaluate(Object arg0) { final Object[] objects = (String[])arg0; return Arrays.equals(this.objects, objects); } } }
結果はこんなかんじ...
true false
一個作れば応用が利くし、コレクションを回さないので楽。