前言
从这一篇我们主要讲解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: 统计符合条件的元素个数
