List类型

List - 集合类型,使用时用[]封装,中间数据用,分隔

定义List:List list = []

例:

>     List colors = ["red","blue","green","yellow"]

List类型的方法:

  • list.add(<Object any_type>):向列表添加元素

      返回值类型:Boolean

      例:

>     List colors = ["red", "blue", "green"]
>
>     colors.add("yellow") //返回:true
  • list.addAll(<List list1>):向列表添加多个元素

      返回值类型:Boolean

      例:

>     List colors = ["red", "blue"]
>
>     colors.addAll(["green", "yellow"]) //返回:true
  • list.clear():清空字符串

      返回值类型:无返回值

      例:

>     List colors = ["red", "blue"]
>
>     colors.clear()
  • list.contains(<Object any_type>):判断列表中是否存在指定元素。如果列表中存在元素, 则返回"true"

      返回值类型:Boolean

      例:

>     List colors = ["red", "blue", "green", "yellow"]
>
>     result = colors.contains("red") //返回:true
  • list.containsAll(<List list1>):判断列表中是否存在所有指定元素。如果列表中存在元素, 则返回"true"

      返回值类型:Boolean

      例:

>     List colors = ["red", "blue", "green"]
>
>     result = colors.containsAll(["red", "yellow"]) //返回:false
  • list.indexOf(<Object any_type>):返回给定元素在列表中的位置 (第一个元素的位置为 "0")

      返回值类型:int

      例:

>      List colors = ["red", "blue", "green", "yellow"]
>
>      result = colors.indexOf("green") //返回:2
  • list.get(<int indexNumber>):返回给定位置在列表中的元素 (第一个元素的位置为 "0")

      返回值类型:Object

      例:

>      List colors = ["red", "blue", "green", "yellow"]
>
>      result = colors.get(1) // 返回: "blue"
  • list.size():返回列表中元素的数目

      返回值类型:int

      例:

>     List colors = ["red", "blue", "green", "yellow"]
>
>     result = colors.size() //返回:4
  • **list.sort(<Boolean bool>)**列表排序,可选布尔值指定升序 (true)/降序 (false),为空时默认为升序

      返回值类型:List

      例:

>     List colors = ["red", "blue", "green", "yellow"]
>
>     colors.sort() // 返回: ["blue","green","red","yellow"]
  • list.subList(<int startIndex>,<int endIndex>) 根据指定的开始和结束索引 (包含指定的索引,不包括结束索引) 从给定列表中返回一组元素

      返回值类型:List

      例:

>     List colors = ["red", "blue", "green", "yellow"]
>
>     result = colors.subList(1, 3); // 返回: ["blue","green"]
  • **list.remove(<int index>)**移除并返回指定索引处的元素 (第一个元素的索引为 "0")

      返回值类型:Object

      例:

>      List colors = ["red", "blue", "green", "yellow"]
>
>      colors.remove(2) // 返回: "green"
  • **list.isEmpty()**判断列表是否为空。返回一个布尔值-如果列表中不包含任何值, 则为true; 否则为-如果列表中包含值, 则为false

      返回值类型:Boolean

      例:

>      List colors = ["red", "blue", "green", "yellow"]
>
>      result = colors.isEmpty() // 返回: false
  • list.intersect(<List list>) 返回指定列表与当前列表的交集

      返回值类型:List

      例:

>      colors = ["red", "blue", "green", "orange"]
>
>      fruits = ["apple","orange","banana"]
>
>      result = colors.intersect(fruits) // 返回:["orange"]
  • list.lastIndexOf(<Object any_type>) 返回指定元素在列表中的最后一个匹配项的位置

      返回值类型:BigDecimal

      例:

>       colors = ["red", "blue", "green", "yellow", "green"]
>
>       result = colors.lastIndexOf("green") //返回:4
  • list.eachWithIndex(<Closure closure>) 遍历列表中的数据,闭包中传入item和index

      返回值类型:List

      例:

>       List list = ["a", "c"]
>
>       list.eachWithIndex { item, int i ->
>
>       log.info(item)
>
>       log.info(i)
>
>       } //运行日志:a  0  b  1
  • list.each(<Closure closure>) 遍历列表中的数据,闭包中传入item

      返回值类型:List

      例:

>       List list = ["a", "c"]
>
>       list.each { item -> 
>
>       log.info(item)
>
>       } //运行日志:a   b
  • list.any{<Closure closure>} 判断是否至少有一个元素有效

      返回值类型:Boolean

      例1:

>       List list = ["a", "b"]
>
>       Boolean b = list.any{x ->x=="a"} //list中是否有一个元素为"a"
>
>       log.info(b)
>
>       } //运行日志:true

      例2:

>       List list = [["a":1], ["a":2]]
>
>       Boolean b = list.any{x ->(x.a as Integer)>1} //list中元素为map,并且key为"a"的value值是否有一个大于1
>
>       log.info(b)
>
>       } //运行日志:true
  • list.collect{<Closure closure>} list中的元素为map,取出每个map中的value值

      返回值类型:List

      例:

>       List list = [["a":1], ["a":2]]
>
>       List list = list.collect{x ->x.a} 
>
>       log.info(list)
>
>       } //运行日志:[1,2]
  • list.find{<Closure closure>} list中的元素为map,取出每个map中第一个符合条件的value值

      返回值类型:Map

      例:

>       List list = [["a":1], ["a":2]]
>
>       Map map = list.find{x ->(x.a as Integer)>1} 
>
>       log.info(map)
>
>       } //运行日志:{a=2}
2023-11-01
27 21