国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

eclipse collections入門

LeexMuller / 2113人閱讀

摘要:配合一下方法使用類似的方法,用于提取一個里頭的一個屬性出來。當然,也可以簡寫為主要用來過濾集合。配合使用功能與相同,只是把該篩選條件內置在中然后這里直接使用,傳入參數與功能相反集合分區只取出一個符合條件的計數與條件滿足判斷其他轉參考

Function

配合一下方法使用:

collect

flatCollect

groupBy

minBy

maxBy

toSortedListBy

sortThisBy

toMap

collect

類似guava的transform方法,用于提取一個object里頭的一個屬性出來。

Function nameFunction = Customer::getName;
MutableList customerNames = customers.collect(nameFunction);

當然,也可以簡寫為

MutableList customerNames = customers.collect(Customer::getName);
flatCollect
MutableList allOrderedLineItems = company.getOrders().flatCollect(Order::getLineItems);

MutableSet actualItemNames = allOrderedLineItems.collect(LineItem::getName).toSet();
Predicate

主要用來過濾集合。配合使用:

select

reject

detect

count

anySatisfy

allSatisfy

select
MutableList customersFromLondon = customers.select(c -> "London".equals(c.getCity()));
selectWith

功能與select相同,只是把該篩選條件內置在domain中
Customer:

public boolean livesIn(String city){
        return this.city.equals(city);
}

然后這里直接使用,傳入參數:

MutableList customersFromLondon = customers.selectWith(Customer::livesIn,"London");
rejectWith

與selectWith功能相反

MutableList customersNotFromLondon = company.getCustomers().rejectWith(Customer::livesIn, "London");
partitionWith(集合分區)
PartitionMutableList partitionedList = this.company.getCustomers().partitionWith(Customer::livesIn, "London");
        MutableList customersFromLondon = partitionedList.getSelected();
        MutableList customersNotFromLondon = partitionedList.getRejected();
detect(只取出一個符合條件的)
public Customer getCustomerNamed(String name) {
        return customers.detect(c -> name.equals(c.getName()));
    }
countWith(計數)
int numberOfCustomerFromLondon = company.getCustomers().countWith(Customer::livesIn,"London");
sort
MutableList sortedTotalValues = 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());
max與maxBy
Double maximumTotalOrderValue = company.getCustomers().collect(Customer::getTotalOrderValue).max();
Customer customerWithMaxTotalOrderValue = company.getCustomers().maxBy(Customer::getTotalOrderValue);
any/allSatisfy(條件滿足判斷)
Predicate CUSTOMER_FROM_LONDON = customer -> customer.getCity().equals("London");
boolean anyCustomersFromLondon = company.getCustomers().anySatisfy(CUSTOMER_FROM_LONDON);
boolean allCustomersFromLondon = company.getCustomers().allSatisfy(CUSTOMER_FROM_LONDON);
其他 MutableBag
MutableBag bag    = HashBag.newBagWith("one","two","two","three","three","three");    
Assert.assertEquals(3,bag.occurrencesOf("three"));    
bag.add("one");    
Assert.assertEquals(2,bag.occurrencesOf("one"));
MutableMap
MutableMap petTypeCounts = UnifiedMap.newMap();
MutableSet

MutableList轉MutableSet

MutableList allOrderedLineItems = company.getOrders().flatCollect(Order::getLineItems);
MutableSet actualItemNames = allOrderedLineItems.collect(LineItem::getName).toSet();

UnifiedSet.newSetWith

MutableSet people = UnifiedSet.newSetWith(mrSmith,mrsSmith,mrJones);    
int numAddresses = people.collect(addressFunction).size();    
System.out.println(numAddresses);
MutableMultiMap
MutableListMultimap multimap = company.getCustomers().groupBy(Customer::getCity);
Assert.assertEquals(FastList.newListWith(this.company.getCustomerNamed("Mary")),multimap.get("Liphook"));
MutableList Liphooks = multimap.get("Liphook");
ArrayIterate
public boolean hasSupply(String itemName){
    return ArrayIterate.contains(itemNames,itemName);
}
ListIterate
List orders = this.company.getMostRecentCustomer().getOrders();
MutableList orderValues = ListIterate.collect(orders, Order::getValue);
makeString
String tildeSeparatedNames = company.getSuppliers().collect(Supplier::getName).makeString("~");
參考

eclipse-collections-kata

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65832.html

相關文章

  • 入門教程 | 5分鐘從零構建第一個 Flink 應用

    摘要:接著我們將數據流按照單詞字段即號索引字段做分組,這里可以簡單地使用方法,得到一個以單詞為的數據流。得到的結果數據流,將每秒輸出一次這秒內每個單詞出現的次數。最后一件事就是將數據流打印到控制臺,并開始執行最后的調用是啟動實際作業所必需的。 本文轉載自 Jark’s Blog ,作者伍翀(云邪),Apache Flink Committer,阿里巴巴高級開發工程師。 本文將從開發環境準備、創建 ...

    Mike617 評論0 收藏0
  • 分析JVM GC及內存情況的方法

    摘要:如果你下的沒有,可以自己添加一個相關資料幾個關鍵淘測試使用進行堆轉儲文件分析 當JVM響應變慢或者停滯的時候,我們往往需要對GC和其內存情況是進行分析,下面列舉一些常用的分析方法和工具: 獲得GC信息的方法 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 詳細解釋可以看JAVA SE 6 GC調優筆記 -XX:+PrintG...

    mudiyouyou 評論0 收藏0
  • Java代碼分析器(一): JDT入門

    摘要:另載于這是一個關于抽象語法樹的故事。抽象語法樹是對程序代碼的結構化表示,是對代碼進行詞法分析語法分析后得到的產物。 另載于 http://www.qingjingjie.com/blogs/2 這是一個關于抽象語法樹(Abstract Syntax Tree, AST)的故事。 抽象語法樹是對程序代碼的結構化表示,是對代碼進行詞法分析、語法分析后得到的產物。編譯器要用到它,很多生產力工...

    binaryTree 評論0 收藏0

發表評論

0條評論

LeexMuller

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<