grovvy-集合list的使用

2017-01-10 20:07
myList = [1, 2, 3]

resultList = new  ArrayList()
resultList.addAll(myList)
println(resultList) //[1, 2, 3]
println(resultList[0]) // 1

resultList = new LinkedList(myList)
println(resultList) //[1, 2, 3]
println(resultList[1]) // 2

longList = (0..10).toList()
println(longList) //[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  • 维护list
def listItem = [1, 2, 3]
// 交集
println(listItem.intersect([1,2,5])) //[1, 2]

println(listItem.disjoint([4,5,6])) //true
println(listItem.disjoint([3,5,6])) //false

println([1, listItem].flatten()) //[1, 1, 2, 3] 并集

listItem = [1, 2, 3]
listItem.pop() // 删除
println(listItem) //[1, 2]

listItem = [1, 2, 3]
listItem.remove(1)
println(listItem) //[1, 3]

listItem = [1, 2, 3]
listItem.push(4) //新增
println(listItem) //[1, 2, 3, 4]

listItem = [1, 0, 3]
println(listItem.sort()) //[0, 1, 3]
println(listItem.reverse()) //[3, 1, 0]

listItem = [[1, 0], [0, 1, 2]]
listItem = listItem.reverse()
println(listItem) // [[0, 1, 2], [1, 0]]


listItem = ["a", "b", "aaa", "abc", "a"]
listItem.removeAll("a")
println(listItem) // [b, aaa, abc]

listItem = ["a", "b", "aaa", "abc", "a"]
listItem.remove("a")
println(listItem) // [b, aaa, abc, a]


listItem = [1, 2, 3]
listItem = listItem.collect { it*2}
println(listItem) //[2, 4, 6]

listItem = [1, 2, 3]
listItem = listItem.findAll{
    it % 2 == 1
}
println(listItem) //[1, 3]

// 用hashset去除重复数字
listItem = [1,1,2,3]
listItem = new HashSet(listItem).toList()
println(listItem) // 去重复的数字 [1,2,3]

listItem = [1,1,2,3]
println(listItem.unique()) //去重复的数字 [1, 2, 3]