前言
从这一篇我们主要讲解Groovy
数据结构,分别是列表
,映射
和范围
,我们分三篇文章分别讲解下,这一篇主要是讲解列表
列表的定义
我们知道在我们Java
中我们定义一个列表一般是这样定义的List list = new ArrayList()
,当然你也可以换成LinkedList
,同时如果需要添加元素的话要不就是通过构造方法传入一个list
,要不就是调用add
相关方法.而在我们Groovy
中定义一个列表只需要让它等于[]
即可,也就是def list = []
,我们想要往里面添加元素直接往方括号里面加,用逗号隔开就行,比如def list = [1, 2, 3, 4, 5]
,这里呢会有同学有疑问,这个明明就是Java
中的数组嘛,为什么到这里就变成List
了呢?这个List
是ArrayList
还是LinkedList
呢?别着急,我们打印下它的类型
也就是说默认是一个ArrayList
,我们在Java
开发中最常用的也就是ArrayList
了
既然Grrovy
中使用我们在Java
中定义数组的方式定义List
,那么我们就想定义一个数组怎么办?肯定是有办法的,并且还不止一种,第一种就是使用as
关键字把我们的List
转成一个数组;第二种就是直接使用强类型定义一个数组
我们前面说过Groovy
列表默认类型为ArrayList
,那么我们想定义一个LinkedList
类型的列表怎么办呢?和上面定义数组基本一样,要么使用as
,要么用强类型定义
列表的操作
主要为增加,删除,查找,排序
这里我们只说Groovy
中和Java
的区别,Java
中有的方法就先略过了
增加
1.使用add
方法,这个和我们的Java
类似
一个是默认在最后面加一个元素,一个是在指定位置添加元素
2.使用leftShift
或者<<
方法,表示在集合的最后添加一个元素,leftshift()
的重载运算符是<<
3.直接使用+
号操作
删除
1.使用remove
方法,和Java
类似
删除指定位置的元素
删除指定元素
删除复合条件的元素
2.使用-
号操作
排序
主要就是用sort
方法
1.使用默认从小往大
2.自定义排序,我们让这个列表按绝对值从小往大
3.自定义排序,按照字符串的长度
查找
1.find
返回规则的第一个元素,默认返回第一个
我们加上规则
2.findAll
: 返回所有符合条件的元素
3.any
: 若列表中有一个满足条件就返回true
4.every
: 列表中所有元素都满足条件才返回true
5.min
: 返回最小值
6.max
: 返回最大值
7.count
: 统计符合条件的元素个数