Java 如何使用lambdaj或其他工具筛选表

Java 如何使用lambdaj或其他工具筛选表,java,collections,filter,guava,lambdaj,Java,Collections,Filter,Guava,Lambdaj,如何使用筛选表 鉴于下表: id name age male salary 1 tom 22 y 3k 2 nancy 24 n 3.5k 3 jack 22 y 2k 4 jmme 29 y 4k 然后我会得到: 2 nancy 24 n 3.5k 4 jmme 29 y 4k /** * * 序号 年份 地区 国内生产总值

如何使用筛选表

鉴于下表:

id name age male salary 1 tom 22 y 3k 2 nancy 24 n 3.5k 3 jack 22 y 2k 4 jmme 29 y 4k 然后我会得到:

2 nancy 24 n 3.5k 4 jmme 29 y 4k /** * * 序号 年份 地区 国内生产总值 * 1 2011 北京 1233 * 2 2010 天津 2412 * 3 2012 上海 1939 * 4 2009 深圳 1389 * 5 2013 重庆 1492 * */ Table aTable=HashBasedTable.create(); aTable.put(“1”、“id”、“1”); aTable.put(“1”年份", "2011"); aTable.put(“1”地区", "北京"); 表1、国内生产总值、1233; aTable.put(“2”、“id”、“2”); aTable.put(“2”年份", "2010"); aTable.put(“2”地区", "天津"); 表1.put(“2”、“GDP”、“2412”); aTable.put(“3”、“id”、“3”); aTable.put(“3”年份", "2012"); aTable.put(“3”地区", "上海"); 表1.put(“3”、“GDP”、“1939”); aTable.put(“4”、“id”、“4”); aTable.put(“4”年份", "2009"); aTable.put(“4”地区", "深圳"); 表1.put(“4”、“GDP”、“1389”); aTable.put(“5”、“id”、“5”); aTable.put(“5”年份", "2013"); aTable.put(“5”地区", "重庆"); 表1.put(“5”、“GDP”、“1492”); 列表>li=过滤器( 拥有(在(Map.class.get上)年份)和isIn(Arrays.asList(“2009”、“2011”)) .和(在(Map.class.get)上地区“”,isIn(Arrays.asList(“”)深圳")))) ,aTable.rowMap().values()); 系统输出println(li); /** * * 序号 年份 地区 国内生产总值 * 1 2011 北京 1233 * 2 2010 天津 2412 * 3 2012 上海 1939 * 4 2009 深圳 1389 * 5 2013 重庆 1492 * */ Table aTable=HashBasedTable.create(); aTable.put(“1”、“id”、“1”); aTable.put(“1”年份", "2011"); aTable.put(“1”地区", "北京"); 表1、国内生产总值、1233; aTable.put(“2”、“id”、“2”); aTable.put(“2”年份", "2010"); aTable.put(“2”地区", "天津"); 表1.put(“2”、“GDP”、“2412”); aTable.put(“3”、“id”、“3”); aTable.put(“3”年份", "2012"); aTable.put(“3”地区", "上海"); 表1.put(“3”、“GDP”、“1939”); aTable.put(“4”、“id”、“4”); aTable.put(“4”年份", "2009"); aTable.put(“4”地区", "深圳"); 表1.put(“4”、“GDP”、“1389”); aTable.put(“5”、“id”、“5”); aTable.put(“5”年份", "2013"); aTable.put(“5”地区", "重庆"); 表1.put(“5”、“GDP”、“1492”); 列表>li=过滤器( 拥有(在(Map.class.get上)年份)和isIn(Arrays.asList(“2009”、“2011”)) .和(在(Map.class.get)上地区“”,isIn(Arrays.asList(“”)深圳")))) ,aTable.rowMap().values()); 系统输出println(li); 2 nancy 24 n 3.5k 4 jmme 29 y 4k
filter(having(on(Person.class).getAge(),greaterThan(22)), myManList);
/** * * 序号 年份 地区 GDP * 1 2011 北京 1233 * 2 2010 天津 2412 * 3 2012 上海 1939 * 4 2009 深圳 1389 * 5 2013 重庆 1492 * */ Table aTable = HashBasedTable.create(); aTable.put("1", "id", "1"); aTable.put("1", "年份", "2011"); aTable.put("1", "地区", "北京"); aTable.put("1", "GDP", "1233"); aTable.put("2", "id", "2"); aTable.put("2", "年份", "2010"); aTable.put("2", "地区", "天津"); aTable.put("2", "GDP", "2412"); aTable.put("3", "id", "3"); aTable.put("3", "年份", "2012"); aTable.put("3", "地区", "上海"); aTable.put("3", "GDP", "1939"); aTable.put("4", "id", "4"); aTable.put("4", "年份", "2009"); aTable.put("4", "地区", "深圳"); aTable.put("4", "GDP", "1389"); aTable.put("5", "id", "5"); aTable.put("5", "年份", "2013"); aTable.put("5", "地区", "重庆"); aTable.put("5", "GDP", "1492"); List> li = filter( having(on(Map.class).get("年份"),isIn(Arrays.asList("2009","2011"))) .and(having(on(Map.class).get("地区"),isIn(Arrays.asList("深圳")))) ,aTable.rowMap().values()); System.out.println(li);