摘要:配合一下方法使用類似的方法,用于提取一個里頭的一個屬性出來。當然,也可以簡寫為主要用來過濾集合。配合使用功能與相同,只是把該篩選條件內置在中然后這里直接使用,傳入參數與功能相反集合分區只取出一個符合條件的計數與條件滿足判斷其他轉參考
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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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)的故事。 抽象語法樹是對程序代碼的結構化表示,是對代碼進行詞法分析、語法分析后得到的產物。編譯器要用到它,很多生產力工...
閱讀 3245·2023-04-26 01:31
閱讀 1892·2023-04-25 22:08
閱讀 3430·2021-09-01 11:42
閱讀 2823·2019-08-30 12:58
閱讀 2165·2019-08-29 18:31
閱讀 2429·2019-08-29 17:18
閱讀 3064·2019-08-29 13:01
閱讀 2552·2019-08-28 18:22