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

資訊專欄INFORMATION COLUMN

eclipse collections入門

LeexMuller / 2118人閱讀

摘要:配合一下方法使用類似的方法,用于提取一個(gè)里頭的一個(gè)屬性出來。當(dāng)然,也可以簡(jiǎn)寫為主要用來過濾集合。配合使用功能與相同,只是把該篩選條件內(nèi)置在中然后這里直接使用,傳入?yún)?shù)與功能相反集合分區(qū)只取出一個(gè)符合條件的計(jì)數(shù)與條件滿足判斷其他轉(zhuǎn)參考

Function

配合一下方法使用:

collect

flatCollect

groupBy

minBy

maxBy

toSortedListBy

sortThisBy

toMap

collect

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

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

當(dāng)然,也可以簡(jiǎn)寫為

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相同,只是把該篩選條件內(nèi)置在domain中
Customer:

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

然后這里直接使用,傳入?yún)?shù):

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

與selectWith功能相反

MutableList customersNotFromLondon = company.getCustomers().rejectWith(Customer::livesIn, "London");
partitionWith(集合分區(qū))
PartitionMutableList partitionedList = this.company.getCustomers().partitionWith(Customer::livesIn, "London");
        MutableList customersFromLondon = partitionedList.getSelected();
        MutableList customersNotFromLondon = partitionedList.getRejected();
detect(只取出一個(gè)符合條件的)
public Customer getCustomerNamed(String name) {
        return customers.detect(c -> name.equals(c.getName()));
    }
countWith(計(jì)數(shù))
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轉(zhuǎn)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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/65832.html

相關(guān)文章

  • 入門教程 | 5分鐘從零構(gòu)建第一個(gè) Flink 應(yīng)用

    摘要:接著我們將數(shù)據(jù)流按照單詞字段即號(hào)索引字段做分組,這里可以簡(jiǎn)單地使用方法,得到一個(gè)以單詞為的數(shù)據(jù)流。得到的結(jié)果數(shù)據(jù)流,將每秒輸出一次這秒內(nèi)每個(gè)單詞出現(xiàn)的次數(shù)。最后一件事就是將數(shù)據(jù)流打印到控制臺(tái),并開始執(zhí)行最后的調(diào)用是啟動(dòng)實(shí)際作業(yè)所必需的。 本文轉(zhuǎn)載自 Jark’s Blog ,作者伍翀(云邪),Apache Flink Committer,阿里巴巴高級(jí)開發(fā)工程師。 本文將從開發(fā)環(huán)境準(zhǔn)備、創(chuàng)建 ...

    Mike617 評(píng)論0 收藏0
  • 分析JVM GC及內(nèi)存情況的方法

    摘要:如果你下的沒有,可以自己添加一個(gè)相關(guān)資料幾個(gè)關(guān)鍵淘測(cè)試使用進(jìn)行堆轉(zhuǎn)儲(chǔ)文件分析 當(dāng)JVM響應(yīng)變慢或者停滯的時(shí)候,我們往往需要對(duì)GC和其內(nèi)存情況是進(jìn)行分析,下面列舉一些常用的分析方法和工具: 獲得GC信息的方法 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 詳細(xì)解釋可以看JAVA SE 6 GC調(diào)優(yōu)筆記 -XX:+PrintG...

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

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

    binaryTree 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

LeexMuller

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<