【Groovy手札】Groovy的List
Groovy採用逗號分隔一個列表(List)中的值,並且會轉譯成JDK中的java.util.List,並且Groovy的預設具體實現為java.util.ArrayList , 但是我們可以手動的轉為其他實現。
def numbers = [1, 2, 3] (1)
assert numbers instanceof List(2) assert numbers.size() == 3 (3)
(1) 定義一個列表,其中的值由逗號進行分隔; |
(2) 該列表是實現了java.util.List 介面的一個例項; |
(3) 呼叫size()方法,其中包含了3個元素。 |
甚至,我們可以定義一個混合元素的列表,如:
def heterogeneous = [1,"a", true]
在預設情況下,Groovy中的List實現的是java.util.ArrayList 型別,但是我們也可以使用as 操作符將其強制轉化為我們所期望的型別,如:
def arrayList = [1,2, 3]assert arrayList instanceof java.util.ArrayList
def linkedList = [2, 3, 4] as LinkedList (1)assert linkedList instanceof java.util.LinkedList
LinkedList otherLinked
(1) 使用as操作符將其強制轉換為java.util.LinkedList實現; |
(2) 將其申明為java.util.LinkedList型別。 |
我們可以使用 [] 下標操作符來讀取或者設定特定位置的元素的值,並且如果 [] 中的索引值index 是正值的話,將索引index位置的元素,如果為負值的話,那麼將會索引列表最後一個元素。<< (LeftShift)操作符可以向列表的尾部新增新的元素。
def letters = [
assert letters[0] == 'a' (1)assert letters[1] == 'b'
assert letters[-1] == 'd' (2)assert letters[-2] == 'c'
letters[2] = 'C' (3)assert letters[2] == 'C'
letters << 'e' (4)assert letters[ 4] == 'e'assert letters[-1] == 'e'
assert letters[1, 3] == ['b', 'd'] (5)assert letters[2..4] == ['C', 'd', 'e'] (6)
(1) 索引第一個元素值(0起始位); |
(2) 使用負值作為索引來獲取最後一個元素; |
(3) 通過特定位置索引來設定列表中的元素值; |
(4) 使用<<(leftShift)操作符來向列表中新增新的元素; |
(5) 一次性獲取列表中的兩個元素; |
(6) 使用..來獲取列表中一個範圍內的元素,(起始位..終止位)。 |
相關推薦
【Groovy手札】Groovy的字串
Groovy提供不同的字串表現形式,包括: def map = [:] map.'單引號' map."雙引號" map.'''三重單引號''' map."""三重雙引號""" map./單斜
【Groovy手札】Groovy的List
Groovy採用逗號分隔一個列表(List)中的值,並且會轉譯成JDK中的java.util.List,並且Groovy的預設具體實現為java.util.ArrayList , 但是我們可以手動的轉
【Groovy手札】Groovy的幾種註釋
Groovy共有四種註釋方式,下面詳細介紹一下: 1.1 單行註釋 在Groovy中,單行註釋以// 開始,可以從一行的任意位置開始,// 後面的字元均為註解部分。例如: // a stand
【Gradle學習】—— Groovy基礎語法以及資料結構
從使用Android Studio開始,Gradle就是一個繞不來的話題,之前並不是很重視Gradle,一直就沒有去學習,到最近的專案發現Gradle實在太強大,Gradle作為構建工具,對比於Maven、Ant來說,在依賴管理、構建生命週期、載入構建系統元件
【長期更新】Ubuntu常用命令備忘錄
err bsp ubuntu lib ubunt clas apt 問題 error Error Could not get lock /var/lib/dpkg/lock 出現這個問題可能是有另外一個程序正在運行,導致資源被鎖不可用。而導致資源被鎖的原因可能是上次運行安
【linux系列】vmware12pro安裝centos7
ping entos 配置 行編輯 rip 無法 conf 解決 config 安裝參考:http://blog.csdn.net/guin_guo/article/details/49403889 安裝完成之後ip還是不成功無法連接網絡: 進入/etc/sysconfig
【滲透測試】NSA Windows 0day漏洞+修復方案
技術 數據 pos 創建 前段時間 更新 服務 主機 ima 這個漏洞是前段時間爆出來的,幾乎影響了全球70%的電腦,不少高校、政府和企業都還在用Windows服務器,這次時間的影響力堪稱網絡大地震。 ------------------------------------
【C語言】統計數字在排序數組中出現的次數
語言 個數 統計 ret r+ () class tdi times //數字在排序數組中出現的次數。 //統計一個數字在排序數組中出現的次數。比如:排序數組{1,2,3,3,3,3,4,5}和數字3,因為3出現了4次,因此輸出4. #include <stdio
BZOJ 2288 【POJ Challenge】生日禮物(貪心+優先隊列)
ace urn ons target challenge pri 最大 font return 【題目鏈接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2288 【題目大意】 給出一列數,求最多取m段
【福利季】《手機歷史漫談》
操作 歷史 三國殺 山寨 真的 時間 外觀 pan 多人 本文地址 原文地址--微信 點擊關註 微信公眾號 手機眾生相 手機大家都不陌生,不管你拿的是高逼格的蘋果手機,還是親民的安卓手機,甚至你固執地懷舊拿著諾基亞的手機,都無
【文學文娛】《西遊記--悼念楊潔》
width idt c# 陽光 ica 自然 provider div 吸引 本文地址 原文地址--微信 點擊關註微信公眾號 西遊·電視劇 寫作起因 說起《西遊記 》,你首先想到的是什麽?是嫉惡如
poj 1915 Knight Moves 【雙向bfs】
ask blank time problem one sum for urn == Knight Moves Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 22121 Acc
【BZOJ1935/4822】[Shoi2007]Tree 園丁的煩惱/[Cqoi2017]老C的任務 樹狀數組
tchar get ont n+1 div 區域 spa 都是 struct 題意:兩道題差不多,都是給你一堆平面上的點,每個點有權值,然後m次詢問求某一矩形區域內的點權和 題解:先離散化,然後將詢問拆成左右兩條線段,然後將點和這些線段一起按x坐標排序,在y軸上維護樹狀數
HDU1251 統計難題 【trie樹】
courier ava 自己的 while onos ets ctrl pan alloc 統計難題 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Other
【Cocos-2dx】使用Visual Studio2017 編譯Cocos-2dx 3.15
工具 python spin 分享 error 3.1 soft bsp cocos2d-x 1.Visual Studio2017是微軟今年更新的VS版本,UI看著比之前的更養眼了。推薦從這個網站下載最新的安裝程序:https://www.visualstudio.com
【vue.js】入門
emp 寫到 logs 組件 images href one mooc 渲染 慕課網視頻學習筆記:http://www.imooc.com/learn/694 1.將html、js、css寫到一個後綴名.vue的文件中,區分這三種類型是通過<template>、
【Ensemble methods】組合方法&集成方法
zed 加權 最好 rdquo ear 整合 表示 ensemble st算法 機器學習的算法中,討論的最多的是某種特定的算法,比如Decision Tree,KNN等,在實際工作以及kaggle競賽中,Ensemble methods(組合方法)的效果往往是最好的,
【HDU 5305】Friends 多校第二場(雙向DFS)
tor typedef type clu name article using ring eof 依據題意的話最多32條邊,直接暴力的話 2 ^ 32肯定超時了。我們能夠分兩次搜索時間復雜度降低為 2 * 2 ^ 16 唯一須要註意的就是對眼下狀態的哈希處理。 我採用
python16_day15【Django入門】
response 最簡 ext tcp inf star -1 解析 為我 一、Django基本 1.什麽是框架 框架,即framework,特指為解決一個開放性問題而設計的具有一定約束性的支撐結構,使用框架可以幫你快速開發特定的系統,簡單地說,就是你用別人搭建好的舞臺
【Prince2科普】Prince2的七大原則(1)
步驟 哪些 來看 產品 論證 img .com 驗證 mil 經過前幾講中關於PRINCE2六大要素,四大步驟及整體思維架構的學習,相信各位看官已經對於PRINCE2有了大概的了解,那我們今天的學習內容會正式進入到七大原則內容的分享。 我們先來看一下,PRINCE