摘要:配合一下方法使用类似的方法,用于提取一个里头的一个属性出来。当然,也可以简写为主要用来过滤集合。配合使用功能与相同,只是把该筛选条件内置在中然后这里直接使用,传入参数与功能相反集合分区只取出一个符合条件的计数与条件满足判断其他转参考
Function
配合一下方法使用:
collect
flatCollect
groupBy
minBy
maxBy
toSortedListBy
sortThisBy
toMap
collect类似guava的transform方法,用于提取一个object里头的一个属性出来。
FunctionnameFunction = Customer::getName; MutableList customerNames = customers.collect(nameFunction);
当然,也可以简写为
MutableListflatCollectcustomerNames = customers.collect(Customer::getName);
MutableListPredicateallOrderedLineItems = company.getOrders().flatCollect(Order::getLineItems); MutableSet actualItemNames = allOrderedLineItems.collect(LineItem::getName).toSet();
主要用来过滤集合。配合使用:
select
reject
detect
count
anySatisfy
allSatisfy
selectMutableListselectWithcustomersFromLondon = customers.select(c -> "London".equals(c.getCity()));
功能与select相同,只是把该筛选条件内置在domain中
Customer:
public boolean livesIn(String city){ return this.city.equals(city); }
然后这里直接使用,传入参数:
MutableListrejectWithcustomersFromLondon = customers.selectWith(Customer::livesIn,"London");
与selectWith功能相反
MutableListpartitionWith(集合分区)customersNotFromLondon = company.getCustomers().rejectWith(Customer::livesIn, "London");
PartitionMutableListdetect(只取出一个符合条件的)partitionedList = this.company.getCustomers().partitionWith(Customer::livesIn, "London"); MutableList customersFromLondon = partitionedList.getSelected(); MutableList customersNotFromLondon = partitionedList.getRejected();
public Customer getCustomerNamed(String name) { return customers.detect(c -> name.equals(c.getName())); }countWith(计数)
int numberOfCustomerFromLondon = company.getCustomers().countWith(Customer::livesIn,"London");sort
MutableListmax与maxBysortedTotalValues = company.getCustomers().collect(Customer::getTotalOrderValue).sortThis(); Assert.assertEquals("Highest total order value", Double.valueOf(857.0), sortedTotalValues.getLast()); Assert.assertEquals("Lowest total order value", Double.valueOf(71.0), sortedTotalValues.getFirst());
Double maximumTotalOrderValue = company.getCustomers().collect(Customer::getTotalOrderValue).max(); Customer customerWithMaxTotalOrderValue = company.getCustomers().maxBy(Customer::getTotalOrderValue);any/allSatisfy(条件满足判断)
Predicate其他 MutableBagCUSTOMER_FROM_LONDON = customer -> customer.getCity().equals("London"); boolean anyCustomersFromLondon = company.getCustomers().anySatisfy(CUSTOMER_FROM_LONDON); boolean allCustomersFromLondon = company.getCustomers().allSatisfy(CUSTOMER_FROM_LONDON);
MutableBagMutableMapbag = HashBag.newBagWith("one","two","two","three","three","three"); Assert.assertEquals(3,bag.occurrencesOf("three")); bag.add("one"); Assert.assertEquals(2,bag.occurrencesOf("one"));
MutableMapMutableSetpetTypeCounts = UnifiedMap.newMap();
MutableList转MutableSet
MutableListallOrderedLineItems = company.getOrders().flatCollect(Order::getLineItems); MutableSet actualItemNames = allOrderedLineItems.collect(LineItem::getName).toSet();
UnifiedSet.newSetWith
MutableSetMutableMultiMappeople = UnifiedSet.newSetWith(mrSmith,mrsSmith,mrJones); int numAddresses = people.collect(addressFunction).size(); System.out.println(numAddresses);
MutableListMultimapArrayIteratemultimap = company.getCustomers().groupBy(Customer::getCity); Assert.assertEquals(FastList.newListWith(this.company.getCustomerNamed("Mary")),multimap.get("Liphook")); MutableList Liphooks = multimap.get("Liphook");
public boolean hasSupply(String itemName){ return ArrayIterate.contains(itemNames,itemName); }ListIterate
ListmakeStringorders = this.company.getMostRecentCustomer().getOrders(); MutableList orderValues = ListIterate.collect(orders, Order::getValue);
String tildeSeparatedNames = company.getSuppliers().collect(Supplier::getName).makeString("~");参考
eclipse-collections-kata
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/65832.html
摘要:接着我们将数据流按照单词字段即号索引字段做分组,这里可以简单地使用方法,得到一个以单词为的数据流。得到的结果数据流,将每秒输出一次这秒内每个单词出现的次数。最后一件事就是将数据流打印到控制台,并开始执行最后的调用是启动实际作业所必需的。 本文转载自 Jark’s Blog ,作者伍翀(云邪),Apache Flink Committer,阿里巴巴高级开发工程师。 本文将从开发环境准备、创建 ...
摘要:如果你下的没有,可以自己添加一个相关资料几个关键淘测试使用进行堆转储文件分析 当JVM响应变慢或者停滞的时候,我们往往需要对GC和其内存情况是进行分析,下面列举一些常用的分析方法和工具: 获得GC信息的方法 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 详细解释可以看JAVA SE 6 GC调优笔记 -XX:+PrintG...
摘要:另载于这是一个关于抽象语法树的故事。抽象语法树是对程序代码的结构化表示,是对代码进行词法分析语法分析后得到的产物。 另载于 http://www.qingjingjie.com/blogs/2 这是一个关于抽象语法树(Abstract Syntax Tree, AST)的故事。 抽象语法树是对程序代码的结构化表示,是对代码进行词法分析、语法分析后得到的产物。编译器要用到它,很多生产力工...
阅读 3192·2023-04-26 01:31
阅读 1821·2023-04-25 22:08
阅读 3279·2021-09-01 11:42
阅读 2783·2019-08-30 12:58
阅读 2125·2019-08-29 18:31
阅读 2384·2019-08-29 17:18
阅读 3036·2019-08-29 13:01
阅读 2488·2019-08-28 18:22