JunkUtil (1.1.0) | 2012-04-29 13:38 |
JunkUtil安定版 (1.1.0) | 2012-04-29 13:45 |
Listオブジェクトの貧弱さは、Javaの問題の一つです。 このクラスでは、集合論的操作を提供します。
List base = FileUtil.readLines("base.txt", "Shift_JIS"); List input = FileUtil.readLines("input.txt", "Shift_JIS"); List result = new LzList(base).join(input).uniq().grep("^[A-Za-z]").sortAsc().list(); DataDumper.dumpList(System.out, result);
提供されるコンストラクタは以下のものです。
提供されるメソッドは以下のものです。
1.0.3から、クロージャとしてforEachメソッドが追加されました。使い方は以下の通りです。
public void testLzListClosure() throws Exception { List list1 = Arrays.asList(new String[]{"AAA", "ABB", "CCC"}); final String var = "A"; LzList grep = new LzList(list1).forEach(new LzListClosure(){ public boolean process(int i, int len, Object obj) { String str = (String)obj; return str.startsWith(var); } }); assertTrue(grep.equals("[AAA, ABB]")); }
クロージャの中からfinal変数を参照できることに注意してください。