JavaFX教程-查詢陣列
像在Miranda、Haskell這些函數語言程式設計語言中一樣,JavaFX支援列表推導(list comprehensions),但是為了使用一種Java程式設計師更加熟悉、易懂的語法形式進行表達,JavaFX採取了select和foreach操作符。
這裡提供一個例如:
class Album { attribute title: String; attribute artist: String; attribute tracks: String*; } var albums = [Album { title: "A Hard Day's Night" artist: "The Beatles" tracks: ["A Hard Day's Night", "I Should Have Known Better", "If I Fell", "I'm Happy Just To Dance With You", "And I Love Her", "Tell Me Why", "Can't Buy Me Love", "Any Time At All", "I'll Cry Instead", "Things We Said Today", "When I Get Home", "You Can't Do That"] }, Album { title: "Circle Of Love" artist: "Steve Miller Band" tracks: ["Heart Like A Wheel", "Get On Home", "Baby Wanna Dance", "Circle Of Love", "Macho City"] }]; // Get the track numbers of the albums' title tracks // using the select operator: var titleTracks = select indexof track + 1 from album in albums, track in album.tracks where track == album.title; // yields [1,4] // the same expressed using the foreach operator: titleTracks = foreach (album in albums, track in album.tracks where track == album.title) indexof track + 1; // also yields [1,4]
列表推導由一個或多個輸入列表,一個可選的過濾器和一個生成器表示式組成。每個源列表與一個變數關聯。列表推導的結果是將生成器應用於滿足過濾器的源列表成員的笛卡爾乘積的子集後得到的新列表。
譯者注:這裡的過濾器指的是where子句。
列表推導為建立在列表上進行迭代遍歷的通用類提供了一種簡明的語法。
列表推導的另外一個簡單示例:
select n*n from n in [1..100]
這個列表(順序地)包含1至100的所有數的平方值。注意上面表示式中的“n”是區域性變數。
下面的程式碼通過定義計算某個數值的所有因子的函式演示瞭如何使用過濾器:
function factors(n) { return select i from i in [1..n/2] where n % i == 0; }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13270562/viewspace-209690/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JavaFX教程-修改陣列Java陣列
- JavaFX教程-函式、陣列、表示式和操作Java函式陣列
- 二維陣列查詢陣列
- JavaScript --二維陣列查詢一維陣列JavaScript陣列
- 陣列的主元素查詢陣列
- Java陣列排序和查詢Java陣列排序
- js查詢陣列元素位置JS陣列
- 陣列使用find查詢用法陣列
- 二維陣列中的查詢陣列
- MongoDB之資料查詢(陣列)MongoDB陣列
- 陣列中查詢給定值陣列
- 查詢提示;及重排陣列分析陣列
- MYSQL A、B表陣列關聯查詢MySql陣列
- MongoDB(12)- 查詢嵌入文件的陣列MongoDB陣列
- 【JZOF】二維陣列中的查詢陣列
- 【Java】陣列二分查詢元素Java陣列
- Javascript刷題 》 查詢陣列元素位置JavaScript陣列
- JavaFX教程-廣度(Extents)和列舉Java
- 雙指標查詢陣列的連續規律子陣列問題指標陣列
- 陣列的查詢(搜尋):線性查詢和二分法查詢陣列
- 查詢陣列中第K大的元素陣列
- Mongodb內嵌陣列的完全匹配查詢MongoDB陣列
- MongoDB查詢(陣列、內嵌文件和$where)MongoDB陣列
- 九度 二維陣列中的查詢陣列
- 面試題——二維陣列中的查詢面試題陣列
- 【劍指offer】二維陣列中的查詢陣列
- 九度 1384 二維陣列中的查詢陣列
- mysql查詢語句陣列下標擷取MySql陣列
- 樹狀陣列模板題 & (樹狀陣列 1:單點修改,區間查詢)陣列
- JavaFX教程-反射Java反射
- JavaFX教程-操作Java
- 【LeetCode-陣列】查詢大多數元素LeetCode陣列
- php陣列中二分查詢是什麼PHP陣列
- 【劍指offer】【1】二維陣列中的查詢陣列
- 【樹狀陣列 區間更新區間查詢】code陣列
- offer通過--3二維陣列中查詢-2陣列
- 【劍指offer】二分查詢二維陣列陣列
- 樹狀陣列單點更新和區間查詢陣列